Use ActiveSupport::Concern, add allows_crud DSL method