There's some duplication between the Contact#add_notification_rule method and this -- and Entity and Contact have add() as a class method rather than save!() as an instance method. I'd stick to just having the one class method for whole-object operations like this, and keep instance methods for accessing the state of the object.