 
   # Builds and returns an HTMLElement to represent the specified decoration.
   buildDecorationHTML: (decorationId, decorationInfo) ->
+    @oldDecorationPositionState[decorationId] = positionState = {};
     newNode = document.createElement('div')
     newNode.classList.add('decoration')
     newNode.style.top = decorationInfo.top + 'px'
+    positionState.top = decorationInfo.top + 'px'
     newNode.style.height = decorationInfo.height + 'px'
+    positionState.height = decorationInfo.height + 'px'
     newNode.style.position = 'absolute'
     if decorationInfo.class
       newNode.classList.add(decorationInfo.class)

        decorationNode.remove()
        delete @decorationNodesById[decorationId]
        delete @decorationItemsById[decorationId]

  ###
  Section: Private Methods

    newDimensionsAndBackgroundState = state.gutters
    setDimensionsAndBackground(@oldDimensionsAndBackgroundState, newDimensionsAndBackgroundState, @decorationsNode)

    @oldDecorationPositionState ?= {};
    decorationState = state.gutters.customDecorations[@getName()]

    updatedDecorationIds = new Set
