Use ActiveSupport::Concern. Fix dependencies.