system/classes/Collection.php
public function processDelete($name, $container = false)
    {
        // Handle if recursive call or not.
        if (!$container) {
            $container = $this;
        }

        // If a single object is meant to be returned.
        if (isset($container->singleton->$name)) {
            unset($container->singleton->$name);
            return true;
        }

        // else look for a Closure.
        if (isset($container->signature->$name)) {
            unset($container->signature->$name);
            return true;
        }

        // Else check any parents.
        elseif ($container->parent) {
            return $container->processDelete($name, $container->parent);
        }
        return false;
    }
public function processDelete($name, $container = false)
    {
        // Handle if recursive call or not.
        if (!$container) {
            $container = $this;
        }

        // If a single object is meant to be returned.
        if (isset($container->singleton->$name)) {
            unset($container->singleton->$name);
            return true;
        }

        // else look for a Closure.
        if (isset($container->signature->$name)) {
            unset($container->signature->$name);
            return true;
        }

        // Else check any parents.
        elseif ($container->parent) {
            return $container->processDelete($name, $container->parent);
        }
        return false;
    }
Handles deleting a resource.

@param name The name of the resource to be deleted.
@param container A parent container which will also be searched for item to remove.