 		it "should switch instant", ->
 
 			layer = new Layer
-			layer.states.add
-				stateA: {x:123}
-				stateB: {y:123}
-
-			layer.states.switchInstant "stateA"
-			layer.states.current.should.equal "stateA"
+			layer.states =
+				stateA:
+					x:123
+				stateB:
+					y:123
+					options:
+						instant: true
+
+			layer.animateTo "stateA",
+				instant: true
+			layer.states.currentName.should.equal "stateA"
 			layer.x.should.equal 123
 
-			layer.states.switchInstant "stateB"
-			layer.states.current.should.equal "stateB"
+			layer.animateTo "stateB"
+			layer.states.currentName.should.equal "stateB"
 			layer.y.should.equal 123
 
 		it "should not change html when using switch instant", ->
 			layer = new Layer
 				html: "fff"
-			layer.states.switchInstant('default')
+			layer.states.stateA = {x: 100}
+			layer.animateTo 'stateA', instant: true
 			layer.html.should.equal "fff"
+
+		it "should not convert html to a color value if used in a state", ->
+			layer = new Layer
+			layer.states.stateA = {x: 100, html: 'aaa'}
+			layer.animateTo 'stateA', instant: true
+			layer.html.should.equal "aaa"
 
 		it "should not change style when going back to default", ->
 			layer = new Layer
 			layer.style.fontFamily = "Arial"
 			layer.style.fontFamily.should.equal "Arial"
 
-			layer.states.add
+			layer.states =
 				test: {x: 500}
 
-			layer.states.switchInstant("test")
+			layer.animateTo "test", instant: true
 			layer.x.should.equal 500
 			layer.style.fontFamily = "Helvetica"
 			layer.style.fontFamily.should.equal "Helvetica"
 
-			layer.states.switchInstant("default")
+			layer.animateTo "initial", instant: true
 			layer.x.should.equal 0
 			layer.style.fontFamily.should.equal "Helvetica"
 
 	describe "Properties", ->
 
-		it "should bring back the 'default' state values when using 'next'", (done) ->
+		it.skip "should bring back the 'default' state values when using 'next'", (done) ->
 
 			layer = new Layer
 			layer.states.add

		it "should set scroll property", ->

			layer = new Layer
			layer.states.add
				stateA: {scroll:true}
				stateB: {scroll:false}

			layer.states.switchInstant "stateA"
			layer.scroll.should.equal true

			layer.states.switchInstant "stateB"
			layer.scroll.should.equal false

			layer.states.switchInstant "stateA"
			layer.scroll.should.equal true

		it "should set non numeric properties with animation", (done) ->

			layer = new Layer
			layer.states.add
				stateA: {scroll:true, backgroundColor:"red"}

			layer.scroll.should.equal false

				layer.style.backgroundColor.should.equal new Color("red").toString()
				done()

			layer.animateTo "stateA", {curve:"linear", time:0.1}

		it "should restore the default state when using non exportable properties", ->

			layer = new Layer
			layer.states =
				stateA: {midX:200}

			layer.x.should.equal 0

			layer.animateTo "stateA", instant: true
			layer.x.should.equal 200 - (layer.width // 2)

			layer.animateTo "initial", instant: true
			layer.x.should.equal 0

		it "should set the parent", ->
