If you use a prototype (as opposed to singleton) object as an event source to be wired to a singleton event sink, you get unintuitive results – it looks like nothing was wired. so the following configuration:
<object name="source" class="Source" singleton="false" />
<object name="sink" class="Sink">
<listener event="SomeEvent" method="OnSomeEvent">
<ref object="source" />
Intuitively you'd think that whenever you create a source, that sink will be automatically wired to it. Right now, that doesn't happen. We've got to either throw an exception or do the intuitive thing.