Added some requirements for the base class, so the parameters are guaranteed to be set before the rest of the classes configure things.