Query Engine API

This PR proposes a structure for the Task class.
Proposing builder pattern to avoid telescoping constructor problem which is likely to happen.

Issue  #35