refactor to single ControllerBase, make config testable
add tests for OAuthController