refactoring to support additional backends
Merge pull request #32 from js-platform/backend-refactoring

refactoring to support additional backends