Eliminates unnecessary associations; ensures dependent destroy; refactors to provide more efficient API