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