do the mode changes have to be part of the class?