Refactored out the use of ClientType in favour of overriding createTemporaryDestination() in producer
Merged missed changes