     }
     @markers.push marker
 
-  wrap: (str) ->
+  markerInnerDiv: (rowCls)  ->
+    item = document.createElement('div')
+    item.classList.add 'blame-gutter-inner'
+    item.classList.add rowCls
+    return item
+
+  resizeHandleDiv: ->
+    resizeHandle = document.createElement('div')
+    resizeHandle.addEventListener 'mousedown', @resizeStarted
+    resizeHandle.classList.add 'blame-gutter-handle'
+    return resizeHandle
+
+  lineSpan: (str, hash) ->
     span = document.createElement('span')
     span.innerHTML = str
-    span
+    span.addEventListener 'click', => @itemClicked(hash)
+    return span
 
   copySpan: (hash) ->
     span = document.createElement('span')
     span.setAttribute('data-hash', hash)
     span.classList.add 'icon-copy'
     span.addEventListener 'click', @copyClicked
-    span
+    return span
 
   removeAllMarkers: ->
     marker.destroy() for marker in @markers
     @markers = []
-
 
   resizeStarted: (e) =>
     document.addEventListener 'mousemove', @resizeMove

        hash = line.rev.replace(/\s.*/, '')

        unless lastHash is hash
          dateStr = @formateData(line.date)
          lineStr = "#{hash} #{dateStr} #{line.author}"
          if commitCount++ % 2 is 0
            rowCls = 'blame-even'

class BlameGutterView

  constructor: (@state, @editor) ->
    @state.width = atom.config.get('blame.defaultWidth')
    @setGutterWidth @state.width

