better error handling in pubsub.py; more work on text rendering