Client key should always be lowercase. Added ControllerException class. Better error handling to follow.
Better error handling