1. A power management architecture in a data processing system, comprising: a plurality of physical devices, each being either power consumers or power suppliers, wherein each physical device has at least two possible states and a current state which is one of the possible states, and further wherein each state has a corresponding power value, and further wherein the system state is the set of current states for the plurality of physical devices; a plurality of software objects, each corresponding to a physical device, wherein an object contains information about the power requirements of each possible state for that physical device and the current state of that physical device, the allowed state transitions from each possible state to another, and the power requirements of all possible state transitions; event means for generating signals indicative of an event; a policy module containing rules that direct an action, the rules being a function of events and of object information; and a controller, in communication with the physical devices, the objects, the event means and the policy module, for changing the state of any one of the plurality of physical devices in response to a signal indicating an event, the controller determining whether to change a physical device state based on the policy module rules, event signals, and object information, including the power requirements of possible state transitions.