Easily and efficiently make your ActiveRecord models support hierarchies