what if ngMessageOn is generated by repeater? and the repeater shrinks. I don't see you handle message deregistration anywhere.

Will usage with repeater be common? If not, we should at least document the limitations...