If we are going to use this as the base class (instead of the ExecutionContextUserSupport), we need a way to inject that name (instead of just letting the child class set it).  An example of where this is used is in the samples (CompositeItemWriterSampleFunctionalTests).  We have two FlatFileItemWriters that are used within a CompositeItemWriter.  Each of these have a name injected so that their properties can be distinguished within the ExecutionContext.  The implementations below for the FlatFileItemWriter removes this injection point, thereby only allowing the class name to be the "name" which is not unique enough.