public static function finder($name, $finder = null) {
		$self = static::_object();

		if ($finder === null) {
			return isset($self->_finders[$name]) ? $self->_finders[$name] : null;
		}
		if (is_array($finder)) {
			$finder = function($params, $next) use ($finder) {
				$params['options'] = Set::merge($params['options'], $finder);
				return $next($params);
			};
		}
		$self->_finders[$name] = $finder;
	}