This is okay for small scale and non-dynamic systems, but it can quickly become a mess. An Event System flips the system upside down, making objects subscribe to a proxy that observes the object with the state change, and communicates it when the change happens.