 			# Remove from previous superview subviews
 			if @_superView
 				@_superView._element.removeChild @_element
-				utils.remove @_superView._subViews, @
+				@_superView._subViews = _.without @_superView._subViews, @
+				@_superView.emit "change:subViews"
 			
 			# Either insert the element to the new superview or into dom
 			if value
 				value._element.appendChild @_element
 				value._subViews.push @
+				value.emit "change:subViews"
 			else
 				@__insertElement()
 			

		# Get this views absolute frame on the screen
		utils.convertPoint @frame, @, null


	#############################################################################
	## Geometry

	#############################################################################
	## Hierarchy
	
	@define "superView"
		get: -> @_superView or null
		set: (value) ->
