Using an interface for adding extern services

These service providers will get the main application object, and
can modify the app