1. A method of discovery and registration of a controlled device for control thereof, comprising: discovering a module associated with the controlled device by an agent associated with a remote monitoring system; evaluating whether the module is self-describing; responsive to determining the module is self-describing, requesting a run-time capabilities object from the module; receiving the capabilities object; and registering the controlled device with the remote monitoring system according to the capabilities object.