MARS: A Programmable Coordination Architecture for Mobile Agents