1. A method for creating a proxy object capable of communication with an external entity, comprising: specifying a proxy object definition for the proxy object wherein the proxy object definition defines a first function for communicating with the external entity; specifying at least one implementation class for the proxy object definition, wherein the at least one implementation class does not implement the first function; and wherein the at least one implementation class includes functionality to support one of: proxy object design, software compilation and software execution.