 		# animations
 		@animations.initialize()
 
-		# call `ready` signal
-		setImmediate => @ready()
-
 		Object.seal @
 
 	createBindedSetter = (propName, setFunc) ->
 		(val) ->
 			if typeof val is 'string'
+				# TODO: optimize it
 				setImmediate =>
 					binding = new Binding @, val
 					Impl.setItemBinding @_uid, propName, binding

		expect(val).toBe.any Scope
		utils.defProp @, 'scope', 'e', val

	signal.createHandler @::, 'ready'

	for signalName in Item.SIGNALS
		signal.createHandler @::, signalName

	utils.defProp @::, 'parent', 'e', ->
		items[Impl.getItemParent @_uid]


		utils.defProp @, 'animations', 'e', new Animations @

		# register signals
		@ready = null
		for signalName in Item.SIGNALS
			@[signalName] = null

		# fill
		for key, val of opts
			if ALL_HANDLERS[key]
				@[key].connect val
			else if DEEP_PROPERTIES[key]
				utils.mergeDeep @[key], val
			else
				@[key] = val

		# append children
		if children
