       else
         return null
 
-    # Returns an ElementWrapper for this element's containing element.  The ElementWrapper is created lazily, and
-    # cached. Returns null if this element has no parentNode (either because this element is the document object, or
+    # Returns an ElementWrapper for this element's containing element.
+    # Returns null if this element has no parent (either because this element is the document object, or
     # because this element is not yet attached to the DOM).
     container: ->
       parentNode = @element.parentNode

    # Returns a wrapped version of the document.body element. Because all Tapestry JavaScript occurs
    # inside a block at the end of the document, inside the `<body`> element, it is assumed that
    # it is always safe to get the body.
    body: ->
      bodyWrapper ?= (wrapElement document.body)
# It is quite concievable that some components will require direct access to the infrastructure framework, especially
# those that are wrappers around third party libraries or plugins; however many simple components may need no more than
# the abstract layer and gain the valuable benefit of not caring about the infrastructure framework.
#
# Changes to this library should be coordinated with the jQuery version.
define ["_", "./utils", "prototype"], (_, utils) ->

  # Save a local reference to Prototype.$ ... see notes about some challenges using Prototype, jQuery,
