       addEventListener(MouseEvent.CLICK, handleClick)
     }
 
+    public function start() : void
+    {
+      drawBackground()
+
+      stage.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown)
+      stage.addEventListener(Event.RESIZE, handleStageResized)
+
+      debug("Looking up Streamio movie “" + movieID + "”...")
+
+      api.fetchMovie(movieID, this)
+    }
+
+    private function drawBackground() : void
+    {
+      graphics.beginFill(0x000000)
+      graphics.drawRect(0, 0, stageDimensions.width, stageDimensions.height)
+      graphics.endFill()
+    }
+
     private function handleClick(event : MouseEvent) : void
     {
       if (ready)
-        ready = false, handleStartRequested()
+        ready = false, handlePlayRequested()
     }
 
-    private function handleStartRequested() : void
+    private function handlePlayRequested() : void
     {
       debug("Playing movie.")
       play()

      view.dimensions = stageDimensions

      addChild(view)

      if (autoplay)
        play()
      else
        ready = true, debug("Click movie to start playback.")
    }

    private function get stageDimensions() : Dimensions

        debug("No RTMP streams available.")
      else
        debug("Available RTMP streams: " + bitrates.join(", "))
    }

    private function createPlayer() : void
    {
      const kit : PlayerKit = new PlayerKit(movie)

      player = kit.player
