1. In a digital rights management system comprising a digital rights management engine including a virtual machine, a method of authorizing access to or other use of a piece of electronic content: receiving a request to access or otherwise use the piece of electronic content; identifying a license associated with the piece of electronic content, the license comprising a control program and a content key; executing the control program using the virtual machine; obtaining an output from the virtual machine, the output indicating that the requested access or other use of the piece of electronic content is authorized as long as an obligation is met; determining that a host application is able to meet the obligation; and permitting the requested access or other use of the piece of electronic content to be made, while fulfilling the obligation, including using the content key to decrypt the piece of electronic content.