refactoring/uninlining of then(createStep()) calls