Client types should be typed by strings, and you should be able to specify which client to spawn for a particular client agent in the config file (optional configuration, defaults to "base" or 0, or whatever this client is).

This allows someone to subclass the client object without having to subclass the client agent.