 				return rPre + rPost
 	else if isAnchor obj
 		r += anchorAttributeToString(obj)
-	else if isBinding obj
-		r += bindingAttributeToString(obj)
-	else if value.type is OBJECT
-		r += value.id
-		rPre += stringObjectFull value
 	else
-		r += value
+		[_, extraParentsRef, propName] = ///^(?:(.+)\.)?(.+)$///.exec obj.name
+		if extraParentsRef
+			extraParentsRef = ".#{extraParentsRef}"
+		else
+			extraParentsRef = ''
+
+		if isBinding obj
+			binding = bindingAttributeToString(obj)
+			r = "#{parentsRef}#{extraParentsRef}.createBinding('#{propName}', #{binding})"
+		else
+			if ///^Styles\[///.test object.name
+				rPre = "#{parentsRef}#{extraParentsRef}.createBinding('#{propName}', null);\n"
+
+			if value.type is OBJECT
+				r += value.id
+				rPre += stringObjectFull value
+			else
+				r += value
 
 	r += ";\n"
 	rPre + r + rPost


	r = ''

	for attribute in getByType(obj.body, ATTRIBUTE)
		r += stringAttribute attribute, [obj]

	for child in getByType(obj.body, OBJECT)
		r += stringAttributes child

	r


	object = parents[0]
	{value} = obj

	parentsRef = "#{object.id}."
	for parent in parents[1...]
		parentsRef += "#{parent.name}."
	parentsRef = parentsRef.slice 0, -1
	ref = "#{parentsRef}.#{obj.name}"

	r = "#{ref} = "
	rPre = ''
