Implementing Agent Roles in Java