Inspired by The Elm Architecture, Iced expects you to split user interfaces into four different concepts:
State — the state of your application
Messages — user interactions or meaningful events that you care about
View logic — a way to display your state as widgets that may produce messages on user interaction
Update logic — a way to react to messages and update your state