Starting Part 3

Just starting the refactor of the engine files, making things a bit
more generic and thus fun.