extract run-configuration-execution-related code into separate modules to make it reusable