move logic into Collection instances and away from the ActiveRecord Model level extention