Events not needed, use communicator