Make sure we ignore cancelled events.
More listener cleanup
Minor Spout refactoring