Maybe before_save would be better?

Also this set_ something method name stuff is not very object oriented.

Could you rely upon motion.updated_at rather than using this attribute?