This is an abstract role which provides an alternate constructor
for creating objects using parameters passed in from a configuration file.
The actual implementation of reading the configuration file is
left to concrete subroles.
