Rename destination to delegate. Make sure client has a mutable data store when inited from a coder.