configuration function and route provider

register a configuration function and take in a route provider. The
route provider is how the different routes that the application will
implement are registered