Handshake and Service Injection

Added a controller that can handle the handshake making it easier to use the services
Added a factory-based service definition that can be used to inject a api client into other services