Refactoring Metadata system + ExecutionContext

Try to simplify api and scheduler part
Add countable for pipe
update tests
Merge pull request #19 from rezzza/refactoring

Refactoring