Instead of creating TaskAction for each task we create single TaskAction in engine, that knows how to run tasks for it. We also got rid of engine dependency of TaskAction, passing storage and notifier to it instead. References blueprint task-executor Co-authored-by: Ivan A. Melnikov <imelnikov@griddynamics.com> Change-Id: Ie52eba3bba5c730cee091ee24e995e0ba21f9486