training task

Не могли б сделать пару замечаний по приведённому коду?
Такой способ задания enumeration CellStates = {closed: {value:0}, opened: {value:1}, flagged: {value: 2}}; , вобще используют?
Можно ли конструкцию
  cell.onclick = function() { Cell.prototype.Click.call(cellObject);};
описать проще?