public function createObject($identifier, $data = null, $fixtures = null, $filter = [])
    {
        // Trigger Before Create Event:
        
        $this->onBeforeCreate($identifier, $data, $fixtures);
        
        // Attempt Object Creation:
        
        try {
            
            // Obtain Object:
            
            $object = $this->findOrMakeObject($identifier, $data, $fixtures, $filter);
            
            // Populate Object:
            
            $this->populateObject($object, $data, $fixtures);
            
            // Write Object to Database:
            
            $this->writeObject($object);
            
        } catch (Exception $e) {
            
            // Enable Validation (on failure):
            
            $this->enableValidation();
            
            // Throw Exception Again:
            
            throw $e;
            
        }
        
        // Trigger After Create Event:
        
        $this->onAfterCreate($object, $identifier, $data, $fixtures);
        
        // Answer Object:
        
        return $object;
    }