I don't know. I actually still don't understand why calling $apply is needed. What expressions need it really? (Making the gaPopup user responsible for calling $apply sounds weird to me.)