inside of .commit, this._contextSize was referencing size's array so the 'reset edge detection on size change' never executed after the first time, but now _contextSize values are updated by explicitly assigning size's x and y values.