Bundle of several adjustments…

…:

* Add a NULL Backend for testing
* Make Backends Singletons
* Make Hooks Singletons
* Add some tests…