OutputFunctions

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