Dry controllers 279

This addresses the simple parts: I think there are some deeper issues I'm not so sure about.