`runTask` is no longer a method.

It is just a part of the `run` function, which will be engine-specific. It can
also take an engine state, which can be regarded as a global, cross workflow
instances, state.