Refactored backend structure

* Less restrictive for developers
* Better code organization for different backends
* Creates a common namespace (module) for each backend