fix: stop listening to subview when it is removed