Implementing the Coupled Objects Paradigm for Synchronizing Distributed Applications Through Firewalls