has_and_belongs_to_many :developers, :after_add => :evaluate_velocity
It’s possible to stack callbacks by passing them as an array.
Possible callbacks are: before_add, after_add, before_remove and after_remove.
Should any of the before_add callbacks throw an exception, the object does not get added to the collection. Same with the before_remove callbacks, if an exception is thrown the object doesn’t get removed.