 
     return self
 
+  sprite: (newSprite) ->
+    if newSprite?
+      cachedSprite = newSprite
+    else
+      if I.sprite
+        Sprite.loadByName(I.sprite)
+
   ###*
   Returns the current transform, with translation, rotation, and flipping applied.
 


Binds a step listener to update the transform of the object.

Autoloads the sprite specified in I.spriteName, if any.

    player = Core
      x: 15

    scaleY: 1
    zIndex: 0

  cachedSprite = null

  self.unbind ".Drawable"

  self.bind 'draw.Drawable', (canvas) ->
    if I.alpha? and I.alpha != 1
      previousAlpha = canvas.context().globalAlpha
      canvas.context().globalAlpha = I.alpha

    if sprite = self.sprite()
      if sprite.draw?
        sprite.draw(canvas, -sprite.width / 2, -sprite.height / 2)
      else
