Improved router; classes don't return instances