network: message queue
GUI: use press event