                                TODO

            
            This is the roadmap of upcoming developments

* Route caching support

    When a path is firstly resolved through the route tree, we should
    cache the result for future calls.

    The path would be the cache key, the first route the value.

        1 - GET / -> first call, so browse the route tree
        2 - GET / -> second call, return cache('/');

* Conditions support for route matching: 

    get '/foo', {agent => 'Songbird (\d\.\d)[\d\/]*?'} => sub {
        ...
    };

* Prefix support

	Could be great to be able to define a prefix path for each 
	route hanlder defined then.

	Would work like the following:

	prefix '/home';

	# any route handler and before filter is applied to /home/*

	get '/page1' => sub { }; # will match '/home/page1';

	prefix undef;
	# no more prefix

	get '/page1' => sub { }; # will match /page1

	And that should also work for before filters:

	prefix '/home';
	before sub { must_be_authenticated }; # this filter only applies to /home/* paths


* Headers modifier helper

	A route handler should be able to alter any response
	header by hand.

	get '/' => sub {
		...

		# a user-defined header
		header 'X-User-Header1' => 'Some Random Value';
	};

	Those inputs will go through the
	Dancer::Response::sanitize() method in order not to let
	go an invalid response.

