docs: function( aSource, aCallback, aOptImage )
      {
          var out = aOptImage || new Image();
  
          var loadHandler = function( e )
          {
              // clean up listener
              handler.dispose();
  
              if ( typeof aCallback === "function" )
              {
                  aCallback( out );    // invoke callback
              }
          };
  
          var handler = new EventHandler();
          handler.addEventListener( out, "load", loadHandler );
  
          // load the image
          out.src = aSource;
  
          return out;
      }