private function pullOutArrayValue(array &$array, string $key, $defaultValue = null)
    {
        if (!array_key_exists($key, $array)) {
            return $defaultValue;
        }

        $value = $array[$key];
        unset($array[$key]);

        return $value;
    }