constructor (elem, oldNextSibling, oldParent, text) {
    super()
    this.elem = elem
    this.text = text ? ('Move ' + elem.tagName + ' to ' + text) : ('Move ' + elem.tagName)
    this.oldNextSibling = oldNextSibling
    this.oldParent = oldParent
    this.newNextSibling = elem.nextSibling
    this.newParent = elem.parentNode
  }
@param {Element} elem - The DOM element that was moved
@param {Element} oldNextSibling - The element's next sibling before it was moved
@param {Element} oldParent - The element's parent before it was moved
@param {string} [text] - An optional string visible to user related to this change