Working on external tasks abstraction

See #10