Use ActiveSupport::Autoload to manage dependencies
Make association definition code more readable