I don't think you need to complicate this with all these methods. If you follow the `PersonaTestUser` model, this could have just one method, `send_email`, which returns a `MockEmail` object. It looks like that's the only way this is ever going to be used, so you might as well dispense with the `__init__` and just do everything in `send_email`. If you want to keep `_connect_to_server` as a private method I think that's fine, but this isn't a class that is ever going to be used for anything other than sending an email and returning a mock. You won't, for example, ever be calling properties on this object.