A game library built from modules with generic interfaces to allow interoperability