public function update($data = null)
    {
        if ($this->hasMethod('__update') && is_callable([$this, '__update'])) {
            return $this->__update($data);
        }

        // notify observers about new data
        $this->notify();
    }