Change the controller registration to be initiated with NavEvents rather than by constant polling. Needs moar testing.