OutputData is templated now.

 * The code is a little nicer at some places now, but register_data() contains
   too many switches :-(