     add : (element) ->
         @elements.push(element)
 
+    # Run the engine's event loop.
     loop : () ->
         # Stop, if so desired.
         return if not @continue

        # Loop again, when the stack clear.
        setTimeout () =>
            @.loop()
        , 10

        # Update the state of the world.
        now = new Date()
        elapsed = now - @timestamp
        @environment.elapse(@elements, elapsed)
        @canvas.clear()
        @canvas.render(@elements)
        @timestamp = now
