pushed down QueueItemsController complexity down to user model