Rework event handlers so that they are a little more systematic