introduce dispatcher instead of executeCommand
Tasks is now just a list, not a record.
rename myTask to tasks now that there is no conflict