public override mmUser CreateUserObject() { return new JdaUser(); }and had problems with it. Well, in your override, you could probably do this instead:
public override JdaUser CreateUserObject() { return new JdaUser(); }Now, you can just use your user object with the knowledge of your new properties and methods. And the framework should still work fine since JdaUser is inherited from mmUser and the framework is only looking for properties and methods of mmUser and higher classes. I think (not 100% sure) you can always pass classes to methods expecting classes higher up the hierarchy implicitly. Meaning a method expecting mmUser could receive a JdaUser. It wouldn't be able to access any of the new properties and methods added to the JdaUser class, but would be able to access everything that the mmUser definition knew about.