Implemented an abstraction layer for our GameLoop.