@mhevery  Figured out what the issue was. You were right, scope eval is fine. The problem was the way I registered events. Apparently if you register events using `addEventListener` method when the callback is invoked it won't go through the zone. I then used `element.on[eventName].listen(...)` instead of `addEventListener` and when the event handler was invoked it went through the zone mechanism which correctly triggers the scope.