Refactor to make it easier to add different services

Signed-off-by: Charlie Bevis <cbevis@pivotallabs.com>
Refactor everything to expose nothing
Refactoring to use a serviceFinder object