Uncaught TypeError: Cannot read property 'hasOwnProperty' undefined

Je suis en utilisant fabric.js pour dessiner du texte sur une toile. J'ai une fonction pour créer une étiquette de texte. J'aimerais avoir des étiquettes d'exécuter une fonction quand ils sont sélectionnés. La syntaxe est la label.on('selected', functionToCall()); Cela fonctionne très bien quand je fais la fonction anonyme intérieur de la fonction, mais quand je me casse comme une fonction distincte, je reçois un Uncaught TypeError: Cannot read property 'hasOwnProperty' of undefined. Ce que je fais mal?

Ci-dessous est le code qui ne fonctionne pas pour moi. Voici la de code cassé sur jsfiddle, et une version d'un fonction anonyme qui fonctionne.

"use strict";

var canvas = new fabric.Canvas('c', {selection: false}),
  position = 50;

function onLabelSelection(theLabel) {
  if (theLabel.hasOwnProperty('edge')) {
    selectedEdge = theLabel.edge;
  } else {
    selectedEdge = null;
  }
}

function createLabel() {
  var label;

  label = new fabric.Text('Hello World', {
    left: position,
    top: position
  });
  position += 50;

  label.edge = null;

  label.on('selected', onLabelSelection(this));

  return label;
}

canvas.on('mouse:up', function() {
  var newLabel = createLabel(); 
  canvas.add(newLabel);
});