load balancer fixes

Fixes #14 .

A few changes made here:

* The `LoadBalancingClient` now properly binds itself as a worker item for its shared interface.  No more duplicated logic
* Made some fixes around how worker items are bound and did some refactoring.

I will probably be opening another PR shortly that addresses some of the todo's I mention here.
yes I'm actually going to be filling that in with my next PR.  Also going to be moving WorkerItem to its own file and a few other things