public static function usingConnectionAttributes($connection, $attributes, callable $function, $context = null)
	{
		static::_connection($connection);
		static::_associate($function, $context);

		return function() use ($connection, $function) {
			$previous = static::setConnectionAttributes($connection, $attributes);
			return static::lastly(function() use ($function) {
				return call_user_func_array($function, func_get_args());
			}, function() use ($previous) {
				static::setConnectionAttributes($connection, $previous);
			});
		};
	}