public function updateListObject()
    {
        // Bail Early (if not draft):
        
        if (Versioned::get_stage() !== Versioned::DRAFT) {
           return; 
        }
        
        // Obtain List Object:
        
        $object = $this->owner->findOrMakeListObject();
        
        // Verify List Object Exists:
        
        if ($object->isInDB()) {
            
            // Obtain List Object Class:
            
            $class = $this->owner->getListComponentClass();
            
            // Mutate List Object (if required):
            
            if ($object->ClassName != $class) {
                $object = $object->newClassInstance($class);
            }
            
            // Define List Object:
            
            if ($request = Controller::curr()->getRequest()) {
                
                if ($config = $request->postVar(self::FIELD_WRAPPER)) {
                    
                    foreach ($config as $name => $value) {
                        $object->$name = $value;
                    }
                    
                }
                
            }
            
            // Update List Title:
            
            if ($object->Title === $this->getNewTitle()) {
                $object->Title = $this->owner->Title;
            }
            
            // Record List Object:
            
            $object->write();
            
            // Associate with Owner:
            
            $this->owner->ListObjectID = $object->ID;
            
        }
    }