Account#get_subclass makes me cringe a little. It is better than using the account class strings that were floating around (which I think is what this is addressing to some degree), but I think it would be better to have a non-Account class that knows about the different Account types. Just a suggestion/thought, not something to hold up this merge.