Move more logic into builders.
Implement some arbitrary naughty/nice rules.
Print utf-8 without warnings.