Before more tests are to be written, the delivererPool concept needs to
be fully divorced out of the fed library. It is a detail that is
tangential but supplementary. Right now though it is complicating the
tests due to its asynchronous & complex nature. Breaking it out
will simplify the ~90 tests remaining that capture the more nuanced
behavior of this implementation.
This was uncovered during writing tests where both the Social and
Federative APIs are enabled. The actorObject interface was overused
partially due to my earlier confusion; the introduction of the internal
actor interface resolved this.
Finally, the HttpClient interface was introduced to be able to mock out
calls in testing. It may also prove useful for future applications using
this library.
There's another iteration of design that can be done that moves
management of actors and collections back into this library, as right
now a lot of the Receiver interfaces put that burden on client
implementations.