[WIP] Entity picker abstraction and refactoring

This PR is a divergence from the *feature/client-bundle* branch, and contains updates to the entity pickers to allow the creation of the client picker in the ClientBundle.

When this branch is merged, #42 can then be completed.