I see a lot of these showing/hiding calls in this diff which make it more complicated to see what's actually happening in these handlers. Can these show/hides be moved into CSS and we just add/remove classes on the containers?