The TestBed example shows:

* The StartupDialog
* Setting program options via INI and the TPyroConfigFile class. This class lets you define variables that will automatically save/load to the INI.
* The lightweight TestCase framework. You can use this for quick prototyping
* Loading resources from an archive (standard zip file)
* Music (with streaming from within an archive)
* Entities
* Swap chains
* PolyPoint collision detection
* Multiple viewports
* Rendering textures & images including tiling textures across the viewport
* Basic physics example
* And more..

Yes, the goal was to be able to take standard win32 DLL and be able to use and extend the classes like you can do with packages (Too much overhead with packages at least for gamedev). I got it to work but because the way Delphi is designed in order for it to work without hacks and undocumented calls, TObject must be the same on both the DLL side and the client side. In order for it to work with each version of Delphi you would have to have to compile a DLL for each version of Delphi. I started to do this, but it was too much work in maint. So for now full oop is only for D2009 with support for other version via the API layer.