We should refactor `bindEvents` so we have a common codepath for this. The explicit register cases here aren't accounting for the destroy "race" condition and the normal DRY argument.