Implement loader registry for multiple backends
Merge branch 'loader_registry'