     return lineage
 }
 
-Node.constructor()
+Node.constructor(null, null)

  _createVariantWithHead: (head=null, spec) ->
    variant = Object.create(this)
    _.extend(variant, spec) if spec?
    variant.constructor()

    if !head?
      head = variant

    variant._head = head
    variant._master = this
    @_variants.push(variant)

    return variant

module.exports = Node = {
  label: "Node"

  constructor: (@_master, @_head) ->
    @_variants = []

    @_parent = null
    @_children = []

    @_isHatched = false

