model/Versionned.js
function Versionned(id, version, label) {
  /**
   * Globally unique UUID identifier for the resource.
   * @type {string}
   * @readonly
   */
  this.id = this.generateID(id);
  /**
   * String formatted PTP timestamp (&lt;<em>seconds</em>&gt;:&lt;<em>nanoseconds</em>&gt;)
   * indicating precisely when an attribute of the resource last changed.
   * @type {string}
   * @readonly
   */
  this.version = this.generateVersion(version);
  /**
   * Freeform string label for the resource.
   * @type {string}
   * @readonly
   */
  this.label = this.generateLabel(label);
  return immutable(this, {prototype: Versionned.prototype});
}
function Versionned(id, version, label) {
  /**
   * Globally unique UUID identifier for the resource.
   * @type {string}
   * @readonly
   */
  this.id = this.generateID(id);
  /**
   * String formatted PTP timestamp (&lt;<em>seconds</em>&gt;:&lt;<em>nanoseconds</em>&gt;)
   * indicating precisely when an attribute of the resource last changed.
   * @type {string}
   * @readonly
   */
  this.version = this.generateVersion(version);
  /**
   * Freeform string label for the resource.
   * @type {string}
   * @readonly
   */
  this.label = this.generateLabel(label);
  return immutable(this, {prototype: Versionned.prototype});
}
function Versionned ( id , version , label ) { /**
   * Globally unique UUID identifier for the resource.
   * @type {string}
   * @readonly
   */ this . id = this . generateID ( id ) ; /**
   * String formatted PTP timestamp (&lt;<em>seconds</em>&gt;:&lt;<em>nanoseconds</em>&gt;)
   * indicating precisely when an attribute of the resource last changed.
   * @type {string}
   * @readonly
   */ this . version = this . generateVersion ( version ) ; /**
   * Freeform string label for the resource.
   * @type {string}
   * @readonly
   */ this . label = this . generateLabel ( label ) ; return immutable ( this , { prototype : Versionned . prototype } ) ; }
Supertype of every class that has UUID identity, version numbers and labels.
Methods are designed to be mixed in piecemeal as required.
@constructor
@param {string} id      Globally unique UUID identifier for the resource.
@param {string} version String formatted PTP timestamp
(&lt;<em>seconds</em>&gt;:&lt;<em>nanoseconds<em>&gt;)
indicating precisely when an attribute of the resource
last changed.
@param {string} label   Freeform string label for the resource.
Supertype of every class that has UUID identity version numbers and labels . Methods are designed to be mixed in piecemeal as required .