Quick round of cleanup.  Primary goal to get the abstract_class fixes in.  Removed the defatul_attributes stuff, took it in from an exteral pull request without thinking much about it.  Thought more about it when looking into the abstract_class issues and desided I don't like it at all.