Как изменить данные внутри самой модели?
public function setWatched()
{  
              $this->defineWatched(1);
}

public function defineWatched($value)
{
              $this->watched = $value;
}
Вот так лучше.  Нужно же два врапера на публичное свойство. Одного-то мало.
У вас метод статичным объявлен, на что в ошибке и указано. Уберите static и все будет работать.