Set proper constructors for model subclasses

@nthomson - Maybe I should use different branches for these