Coordinating Activities and Change: An Event-Driven Architecture for Situated MAS