             @prop = getItemProp[source]
             @getSourceValue = getSourceValue[source]
             @getTargetValue = getTargetValue[line][@type]
+            @targetItem = null
+
+            Object.seal @
 
             if typeof @getTargetValue isnt 'function'
                 @getTargetValue = GET_ZERO
-                log.error "Anchor '#{@source}: #{def.join('.')}' is not supported"
+                log.error "Unknown anchor `#{@}` given"
 
             switch target
                 when 'parent'

                    item.onPreviousSiblingChange onPreviousSiblingChange, @
                    onPreviousSiblingChange.call @, null
                else
                    if @targetItem = target
                        for handler in getTargetWatchProps[line][@type]
                            @targetItem[handler] update, @
                    update.call @

            Object.preventExtensions @

        update: ->
            # sometimes it can be already destroyed


assert = require 'src/assert'
log = require 'src/log'
utils = require 'src/utils'

log = log.scope 'Renderer', 'Anchors'

