 	@define "scroll",
 		get: -> @scrollHorizontal is true or @scrollVertical is true
 		set: (value) ->
+			return unless @content
 			@content.animateStop() if value is false
 			@scrollHorizontal = @scrollVertical = value
 
 	@define "scrollX",
-		get: -> -@content.x
-		set: (value) -> @content.x = -@_pointInConstraints({x:value, y:0}).x
+		get: -> 
+			return 0 if not @content
+			-@content.x
+		set: (value) -> 
+			return unless @content
+			@content.x = -@_pointInConstraints({x:value, y:0}).x
 
 	@define "scrollY",
-		get: -> -@content.y
-		set: (value) -> @content.y = -@_pointInConstraints({x:0, y:value}).y
+		get: -> 
+			return 0 if not @content
+			-@content.y
+		set: (value) -> 
+			return unless @content
+			@content.y = -@_pointInConstraints({x:0, y:value}).y
 
 	@define "scrollPoint",
+		importable: true
+		exportable: false
 		get: -> 
 			point =
 				x: @scrollX
 				y: @scrollY
 		set: (point) ->
+			return unless @content
 			@content.animateStop()
 			@scrollX = point.x
 			@scrollY = point.y
 
 	@define "scrollFrame",
+		importable: true
+		exportable: false
 		get: ->
 			rect = @scrollPoint
 			rect.width = @width


	_updateContent: =>

		# Update the size of the content layer, and the dragging constraints based on the 
		# content size and contentInset.



Events.ScrollStart = "scrollstart"
Events.Scroll = "scroll"
Events.ScrollMove = Events.Scroll
Events.ScrollEnd = "scrollend"

EventMappers = {}
