Move matchRoute to router, add route candidates
Add route decode util method
Add usage message on missing required arg
Add example application