Pass in some additional parameters to &contructor.

This avoids switching on the name inside the constructor.