public function notify()
    {
        if (!isset($this->__observers)) {
            $this->__observers = new SplObjectStorage;
        }
        foreach ($this->__observers as $observer) {
            $observer->update($this);
        }
    }