Issue #2: Added a back-end library with a top-level class which shall handle the supported back-ends (still a bit ugly coding though)