Removed the construct AppInterface requirement in the construct to let applications branch out easier. Each application can now specify its own dependancies rather than trying to rabbit hole apps.
Separated Observable interface from Decorator interface, also separated config method to its own interface
Cleaned up unit tests to reflect interface changes