+ cancelable promises
+ updated to the new defer api
+ refactored the EventLoop.TrackResource method