This creates an agent per proxy per destination. A TunnelingAgent can deal with multiple destinations, so this could be changed to a single agent per proxy instead.