AgentDelegate use pimpl.