encapsulate default_agent logic in models
and remove reference to exchange_agent