I like this framework. It provides the next run of benefits for a graphics library, turning it into a game library. Perhaps the hierarchy, in order of increasing complexity, is:
* Drawing basic 2D primitives @ a specific frame rate, handling inputs
* Drawing image files and spritesheets
* A way to organize scenes/stages
* Collision detection
* Path finding