Last commit before deadline.

I'm not proud of what I've done. Ugly code all around, design decisions
taken without any previous consideration, etc. But this is it.
University wasn't meant for me to learn, it was meant for me to obey
deadlines.