First pass
Move to ActiveSupport::Concern
Fix tests
rename
Remove comments