public static function pull($key, $default = NULL) {

		if(false === is_string($key)) {
			return trigger_error(sprintf('Argument 1 passed to %s() must be of the type string, "%s" given', __METHOD__, gettype($key)), E_USER_ERROR);
		}

		if(true === isset(static :: $data[$key])) {
			
			$default = static :: get($key);
			static :: add($key, null, -1);
		}

		return $default;
	}