Executor is now using shared pointers of Tasks