1. A method for providing an application programming interface in an object-oriented programming platform, the method comprising: in response to a first message received at a first object that contains one or more properties, creating a second object that responds to a second message sent thereto responsive to sending of said first message to said first object; returning said second object; implementing one or more primitive methods in said first object to enable implementation of at least one method associated with said second object; and providing a plurality of automatic key-value coding proxies for return by corresponding key-value coding methods to allow at least one of read-only and read-write access to one or more related objects to said first object.