                     item.onPreviousSiblingChange onPreviousSiblingChange, @
                     onPreviousSiblingChange.call @, null
                 else
+                    if not utils.isObject(target) or handler not of target
+                        log.error "Unknown anchor `#{@}` given"
+                        return
                     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'

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


            @prop = getItemProp[source]
            @getSourceValue = getSourceValue[source]
            @getTargetValue = getTargetValue[line][@type]
            @targetItem = null

            Object.seal @

            if typeof @getTargetValue isnt 'function'
                @getTargetValue = GET_ZERO
                log.error "Unknown anchor `#{@}` given"

            switch target
                when 'parent'
