Implemented a basic ServiceManager
Extended `Agent.connect and `Agent.disconnect`, added loading via config to ServiceManager
Improved custom agent example