Improving before/after_add callbacks for has_many/habtm

Hi,

I've submitted a patch to improve before/after_add callbacks to handle more situations.

Please review/comment/commit - http://dev.rubyonrails.org/ticket/8854 :slight_smile: