Clean up signature to constructOutput.

* Addresses part of #107 
* Specify that the convenience `constructOutput` cannot change the function pointed to by `componentMemberFunction`.