Make upgrade safe

This pull requests addresses composer updating and keeping the configuration. Prior to this pull request running a composer update may overwrite the service provider and undo application specific settings. This pull request adds a configuration for the package and instantiates classes based on the configuration.