We used templates to create the game stuff. Unfortunately, it's not quite a stand-alone library, but hopefully someone else can use it.