A second refactor of routing; there is now support for regex-defined routes