support custom save method __save__().