1. A method for synchronizing distributed software objects comprising: copying a first object having data and behavior from a first computer across a network to a second computers; creating a second object having at least parts of said data and behavior, wherein said second object is capable of executing without having all parts of said data and behavior of said first object, wherein said second object includes at least one method of the first object and omitting from said second object at least one other method of the first object, wherein the at least one method comprises a first computer code executable by the second computer to perform the at least one method, and the at least one other method comprises a second computer code executable by the first computer to perform the at least one other method; executing said second object on said second computer, wherein said executing comprises sending a plurality of messages between said first computer and said second computer, said plurality of messages comprising remote accessing by said second object of said at least one other method of said first object; obtaining a policy for synchronizing said first object and second object between said first computer and said second computer; and synchronizing said first object and said second object between said first computer and said second computer based on said policy, wherein said synchronizing comprises transferring and merging differences between said first object and said second object.