Moved Execution code to ExecutionService class

Output is handled on multiple threads now.
Execution moved to ExecutionService class