Add component registry for dependency injection
Introduce task delegate and executor
Rename session handler and delegate
Introduce factory interface for SessionHandler and Operations
Integrate wet and dry run to the executor
Refactored task executor