Design and Implementation of a Programmable Coordination Architecture for Mobile Agents