OutputFunctions

#### THIS PULL REQUEST IS NOT MEANT TO BE MERGED, YET!

In this pull-request I'd like to discuss the OutputFunction interface.