WIP - refactoring from module; waiting to rewrite tests and components
WIP - add module tests
WIP - add runtime handlers test; need public interfaces
WIP - wait for public interface def
WIP - add tests
WIP - too much recursion while transfer