public function route( $attributes ) {
		$attributes = $this->mergeAttributes( $this->getGroup(), $attributes );

		$methods = Arr::get( $attributes, 'methods', [] );
		$condition = Arr::get( $attributes, 'condition', null );
		$handler = Arr::get( $attributes, 'handler', '' );
		$namespace = Arr::get( $attributes, 'namespace', '' );

		if ( empty( $methods ) ) {
			throw new ConfigurationException(
				'Route does not have any assigned request methods. ' .
				'Did you miss to call get() or post() on your route definition, for example?'
			);
		}

		$condition = $this->routeCondition( $condition );
		$handler = $this->routeHandler( $handler, $namespace );

		$route = new Route( $methods, $condition, $handler );

		$route->decorate( $attributes );

		return $route;
	}