Part 3 - The front controller pattern and some basic routing