         @unbind()
         return this
 
+    # Return true if the element is static.
+    isStatic : () ->
+        return @static
+
     # Render the element on the given canvas context.
     render : (context) ->
         throw new Error("Not Implemented error")


    # Apply an impulse force to the element.
    applyImpulse : (impulse) ->
        velocity = @getVelocity().add(impulse)
        @direction = velocity.normalize()
        @speed = velocity.getLength()

    # Apply the given force to the element for the given number of
    # milliseconds.
    applyForce : (force, milliseconds) ->
        # Calculate the effects of the force.
        acceleration = force.scale(@getInverseMass())
        velocity = @getVelocity().add(acceleration.scale(milliseconds))

            dragCoefficient: 0.7
            visible: true
            id: wolf.getUniqueId()
            static: false
        ((@[k] = v) for k, v of wolf.defaults(opts, defaults))

    # Return the element's position.
