state handler methods must be public