The method of claim 10, wherein said performing type checking to determine whether the method or property is valid for the second hardware device class comprises: determining a list of valid methods and properties for the second hardware device class; and determining whether the method or property is included in the list of valid method and properties. 17.