Added weak event handlers to combat the other handle leak.

Also added a Weak Notification client "proxy", which allows for GCing of device enum, and therefore controller.

Added disposable for enum and controller