No se puede eliminar un detector de eventos (enlazado)

Soy un novato en javascript y me encuentro con el siguiente problema, que no pude encontrar en las respuestas anteriores después de buscar varias veces (espero que esto no sea un duplicado).

Tengo el siguiente módulo / clase. Supongamos que estoy intentando implementar un componente que se puede arrastrar por la pantalla. Cuando elusuario hace clic en él la primera vez, empezamos a escuchar elmousemove eventos de lawindow para saber donde el usuario está moviendo el ratón a. Una vez que el usuario suelta el mouse, queremos eliminar los escuchas de eventos de la ventana. El código es bastante sencillo, y funciona si simplemente lo codifico fuera de iife. Sin embargo, actualmente elremoveEventListener simplemente no funciona. Supongo que podría tener algo que ver con elclousure, laalcance O algo así, pero me lo estoy perdiendo totalmente. Muchas gracias de antemano, aquí está el código:

MyClass.js

 var myNamespace = myNamespace || {};
 (function(myNamespace){

 var onMouseDragDown = function(e){
          window.addEventListener("mousemove", onMouseDragMove,true);
          window.addEventListener("mouseup", onMouseDragUp,false);
       };

  var onMouseDragUp = function(e){
// This code executes, but the events CONTINUE to be triggered after removing the event listener

//The following lines do not seem to have any effect whatsoever even though they are executed when the user releases the mouse button
      window.removeEventListener("mousemove", onMouseDragMove, true);
      window.removeEventListener("mouseup", onMouseDragUp,false);
  };

  var onMouseDragMove = function(e){
      console.log('moving');
   };

   myNamespace.MyClass = function(param){
      this._param = param;
      this._div = document.createElement('div');  
      this._div = ....

      this._div.addEventListener('mousedown', onMouseDragDown.bind(this), false);
   }

   myNameSpace.MyClass.prototype.getDiv = function (){
      return this._div;
   }
)(myNameSpace);

Index.html

...

        function onCreateNewDocumentClicked(event){
            var myObject = new myNamepace.MyClass(someParams);
            document.body.appendChild(mdi.getDiv());
        }

Respuestas a la pregunta(2)

Su respuesta a la pregunta