Make update protected and return self from save