Easily and efficiently make your ActiveRecord model support hierarchies