seems iffy to me that these events are bound at render time. Do they get unbound automatically? Like, can something call showRetryError() a bunch of times?