Queue classifications

Closes #48 
Normally testing models with callback dependencies requires setting up the state with stubs or requires a factory create call instead of a build. You end up with complicated testing setups that slow down with more tests.

Callbacks are ok (although i tend to shy away from them) when they modify internal state, update timestamps, modify an internal attribute, etc. When they start to create / modify other model instances these are violating SRP in the model layer. We should extract the logic to a testable class and then use these in controllers after explicit actions, e.g.
``` ruby

def create
  if @model.save
    ClassResponsibleForExternalActions.run(@model)
  end
```