Add marshal() to the Step interface