Cleaning up nested conditionals in legacy controllers

My first PR! Yay! I took the liberty of cleaning up some duplicate code (mainly session checks) and moving some of the nested conditionals to protected functions with "intention reveling names" (I love that phrase)

I'm hoping to make more changes like this one to the entire legacy branch. That way when we decide move them out of legacy we won't have to dig through the nested conditionals to figure out what is going on. 

I hope you approve!