Currently, Step#getName must be implemented in addition to execute. If getName had a default implementation (for example returning the fully qualified class name), the Step interface could be made functional. Making the Step interface functional makes things easier in tests, prototypes and teaching/learning sessions.