include removeListener as base function