Right, but we do get that from its sub-classes (which are in fact deriving the name). I guess it boils down to what extra information are we getting from the constructor parameter that we aren't already getting in the concrete implementations of this abstract task class.