use less strict api call for removeListener; remove call to protected method;