Using interface IStep instead of raw types