A fully generic event loop for games and interactive applications