public static function tags($value, $base_url = FALSE, $separator = ", ")
	{
		$cache_key = md5($value);

		if (Arr::get(self::$_cache, $cache_key))
		{
			return self::$_cache[$cache_key];
		}

		self::$_cache[$cache_key] = array(
			'load'	=> FALSE,
			'tags'	=> array(),
		);

		$base_url = ($base_url) ? $base_url : URL::base(TRUE, TRUE) . 'tag/';

		foreach (explode($separator, $value) as $tag)
		{
			  if ( ! $tag)
			  {
				continue;
			  }

			$tag = array(
				'name'	=> $tag,
				'slug'	=> URL::title($tag, '-', TRUE),
			);
			$tag['url'] = $base_url . $tag['slug'];
			self::$_cache[$cache_key]['tags'][] = $tag;
		}

		if (self::$_cache[$cache_key]['tags'])
		{
			self::$_cache[$cache_key]['load'] = TRUE;
		}

		return self::$_cache[$cache_key];
	}