Observer + Controller classes