Simple system for managing scope-bound delegate functions when adding and removing listeners