The SMC implements the Façade design pattern to provide
a single application programming interface (API) to the other
components in the system. Through this façade, each component
can report its state or communicate system changes. The
SMC itself controls its own state through the same API in a
self-reflective manner.