Logic in the Controller has been updated to reflect the unit tests which
now all pass. All of the requirements have been covered by the unit
tests and as such, it is now the time to re-factor the code within the
Controller with readability in mind.