added before and after callbacks for add/remove/send events