Standardised delegate multiplexing code

Still not perfect, but a bit more consistent!