   # Extends this class and return a child class with inherited prototype
   # and static properties.
   #
-  # There are five ways you can call this method:
+  # There are various ways you can call this method:
   #
   # 1. Space.Object.extend()
   # --------------------------------------------
   # Creates an anonymous child class without extra prototype properties.
   # Basically the same as `class extend Space.Object` in coffeescript
   #
-  # 2. Space.Object.extend({ prop: 'first', … })
+  # 2. Space.Object.extend(className)
+  # --------------------------------------------
+  # Creates a named child class without extra prototype properties.
+  # Basically the same as `class ClassName extend Space.Object` in coffeescript
+  #
+  # 3. Space.Object.extend({ prop: 'first', … })
   # --------------------------------------------
   # Creates an anonymous child class with extra prototype properties.
   # Same as:
   # class extend Space.Object
   #   prop: 'first'
   #
-  # 3. Space.Object.extend(namespace, className)
+  # 4. Space.Object.extend(namespace, className)
   # --------------------------------------------
   # Creates a named class which inherits from Space.Object and assigns
   # it to the given namespace object.
   #
-  # 4. Space.Object.extend(className, prototype)
+  # 5. Space.Object.extend(className, prototype)
   # --------------------------------------------
   # Creates a named class which inherits from Space.Object and extra prototype
   # properties which are assigned to the new class
   #
-  # 5. Space.Object.extend(namespace, className, prototype)
+  # 6. Space.Object.extend(namespace, className, prototype)
   # --------------------------------------------
   # Creates a named class which inherits from Space.Object, has extra prototype
   # properties and is assigned to the given namespace.

    extension = {}

    # Only one param: (extension) ->
    if args.length is 1 then extension = args[0]

    # Two params must be: (namespace, className) OR (className, extension) ->
    if args.length is 2

    # Assign the optional custom constructor for this class
    Parent = this
    Constructor = extension.Constructor ? -> Parent.apply(this, arguments)

    className = className.substr className.lastIndexOf('.') + 1

    # Create a named constructor for this class so that debugging
    # consoles are displaying the class name nicely.
