I've given Contact its own model and am moving a lot of functionality into it