move Discussion view state logic back into controller