Moving configuration away from singleton pattern

By making the configuration an instance variable it allowed more
flexibility in setting up configuration and testability. The
configuration object can be directly accessed in the app configuration
instead of using several translating setters. Testing the configuration
object is much simpler and doesn’t require resetting the state of the
object after complete testing.
Merge branch 'feature-configuration_refactoring'