The idea of the back-end is that there should be no logic in the controller, let's make this true.
Plus this will allow easier unit-test coverage of this important piece of code
Worked started, see:
Fixed in http://git.fedorahosted.org/cgit/fedocal.git/commit/?id=86c8fc2bd7fdcce3bc331cad16f4eca58e00cd0d
to comment on this ticket.