             drawExpectedArc()
 
         # Handler function for input changes. Adjusts both arcs to new values.
-        transitionHandler = ->
-            console.log("transitionHandler")
+        actualChangeHandler = ->
+            console.log("actualChangeHandler")
+
+            sanitizeInputs()
+            transitionActualArc()
+
+        expectedChangeHandler = ->
+            console.log("expectedChangeHandler")
 
             sanitizeInputs()
             transitionActualArc()
             transitionExpectedArc()
 
-        # Transition the expected arc position. If the transition warrants a
-        # color change of the actual arc, transition it too
+        # Transition the expected arc position. 
         transitionExpectedArc = ->
             console.log("transitionExpectedArc")
 
-            sanitizeInputs()
             transitionArc(@expectedArc, @expectedArcValue, attrs.expected, defaultExpectedArcColor)
 
         # Transition the actual arc position (and possibly color). Also 

        transitionActualArc = ->
            console.log("transitionActualArc")

            sanitizeInputs()
            color = getActualArcColor(attrs.actual, attrs.expected)
            transitionArc(@actualArc, @actualArcValue, attrs.actual, color)



        # Check inputs
        sanitizeInputs()

        # Render circle and arcs/text
        drawCircle(innerPercent, circleRadius)
        drawBothArcs()

        # Set callback function for changes to either input
        scope.$watch("expected", expectedChangeHandler)
        scope.$watch("actual", actualChangeHandler)

