moved distributing tasks to Operation class and replaced hooks with 'events'.