It does the UAV::Pilot::EventHandler role, and thus can be processed by UAV::Pilot::Events. It's recommended to also add the UAV::Pilot::SDL::Events handler to the events object, as that will take care of the SDL_QUIT events. Without that, there's no way to stop the process other than kill -9.