Added abstract manager along with some tests
Added a very basic example app
Applied @mitar suggestions to the abstract manager
Cleaning code
Simple API for defining notFoundHooks
Added tests for circular dependencies
Refactoring and cleaning code
Derived require and define from abstract manager
Fixed require API
Define should also work without dependencies
Merge branch 'abstract-api' into relative-paths