Refactored to extract Step.cs and separate AsyncStep.cs and SyncStep.cs. Still need to support method groups with async void signature.