This is the kind of business logic that I would like to see in a non-rails related service classes (with tests)