It is broken out already. The Backend doesn't do anything but load and create backends as it stands right now (it's all meta methods) and implementations doesn't really need to inherit the Backend. I can rename it to BackendLoader instead although it's a bit insufficient since it also creates instances.