Refactored AgentsService, agent now handles logic around taking an interaction