Add nested wiretapping.

Also change custom consumer definitions to use types instead of factories.

@Cyril-sf comments?