1. A method for communicating with an embedded controller within a computing device, comprising: querying the embedded controller to obtain information describing an interface for interacting with a functionality provided by the embedded controller for at least one of monitoring, configuring, or controlling one or more devices in the computing device, wherein the embedded controller is a separate processing device for performing system management operations; receiving a response from the embedded controller which includes a reference to a metadata object describing the interface; and if the metadata object refers to other metadata objects, recursively querying the embedded controller to obtain information about the other metadata objects until a complete description of the interface is obtained.