1. A method of authorizing access to a piece of electronic content on a host computer system, the method comprising: receiving a request from a user of the host computer system to access the piece of electronic content; retrieving a license associated with the piece of electronic content, the license comprising a control object, a controller object, a protector object, and a content key object; retrieving a first control program from the control object; and executing the first control program using a digital rights management engine running on the host computer system to determine if the request may be granted, wherein executing the control program includes evaluating one or more link objects, wherein each link object represents a relationship between two entities, wherein at least one of the one or more link objects comprises a second control program, and wherein evaluating the one or more link objects includes: executing the second control program using the digital rights management engine in order to determine if the link is valid, the executing including determining whether one or more conditions expressed by the control program are satisfied.