 
     $scope.$on 'pause', (event) ->
       $scope.game_info.in_progress = false
-      $interval.cancel game_interval
+      cancel_game_interval()
 
     $scope.$on 'resume', (event) ->
       $scope.game_info.in_progress = true
-      game_interval = $interval(game_loop, $scope.game_info.tick_length)
+      start_game_interval()
 
     $scope.$on 'move_left', (event) ->
       block = Tetromino.get_active_block()

    $scope.blocks = Tetromino.blocks
    $scope.upcoming = []
    $scope.game_info = Tetromino.info
    game_interval = null
    colors = ['magenta', 'yellow', 'blue', 'green', 'white', 'orange']

    get_color = ->
      colors[Math.floor(Math.random() * colors.length)]

    game_over = ->
      $scope.game_info.in_progress = false
      $scope.game_info.game_over = true
      $interval.cancel game_interval

    queue_block = ->
      $scope.upcoming[1] = new Block

      Tetromino.drop_blocks()
      drop_queued_block_if_no_active()

    start_game_interval = ->
      return if angular.isDefined(game_interval)
      game_interval = $interval(game_loop, $scope.game_info.tick_length)

    $scope.upcoming.push new Block
      color: get_color()
    $scope.upcoming.push new Block
