Use a task subclass instead of a functor + task wrapper

Instead of using a functor that activates the scheduler driver
instead incorporate and use a task subclass, this avoids the less
meaningful information that is presented when a functor is used
as well as allows for a more straightforward path for future
subclassing and derivations of work.

Change-Id: Ice66e109968c28f36156edf3dd47a89f94494bb8
Merge "Use a task subclass instead of a functor + task wrapper"