I figured that I do not have enough time to do this nicely integrated with SMW. Both the query result objects and the result printers are best rewritten from ground up to get rid of all the big issues. And while doing this, future interoperability with Wikibase could be achieved. Out of scope for preparing this workshop though.
I ended up creating a bunch of simple objects and a converter from SMWQueryResult to those, which will be used during the workshop.