This makes the separation between the implementation and the API more clean, as before the API was doing too much work..
This gets the basic framework together, and testing infrastructure. Basic bearer authentication is implemented and working.