1. A method of managing permissions to access objects in an object-oriented programming environment, the method comprising: creating an object permission configured to allow an object action to be performed on an object; granting the object permission to one or more subjects; creating a first admin permission configured to allow an administrative action to be performed on the object permission; receiving an attempt by a first subject to perform said administrative action on the object permission; and determining whether the first subject possesses said first admin permission.