Weak event subscribers

This branch fixes the problem that ProxySubscribers were randomly garbage collected when they should not have been. It also adds a unit test that demonstrates the problem (try running it after ```git revert -n HEAD^```...).