It has a unique identifier, the color it is currently on and the time since
the last switch.
- the Rule will query it for information (isReadyToSwitch)
- the Commands will manipulate the object to set it's color
/** * overriden method with the correct implementation for our * domain logic * {@inheritDoc} */ protected function _applies() { echo $this->light->toString(); return (bool) $this->light->isReadyToSwitch(); }