Made the client utilise the RESTEndpoint and not the other way around, to allow a more modular remote architecture.
Added a test for the Client
Merge remote-tracking branch 'origin/remote' into remote