Trait that defines the types associated with model used by
It can be anything that stores application state.
The message type that defines the messages that can be sent to modify the model.
The widgets type that can initialize and update the GUI with the data the model provides.
If you don’t want any widgets (for example for defining a worker), just use
Data that can be used to store senders and other stuff according to the needs of the user
Updates the model.
match statement is used to process the message.