docs: def make_device_class(spark_cloud, entries, timeout=30):
          """Returns a dynamic Device class based on what a GET device list from
          the Spark Cloud returns.
          
          spark_cloud parameter should be the caller instance of SparkCloud.
          
          entries parameter should be the list of fields the Spark Cloud API is
          returning.
          """
          attrs = list(
              set(
                  list(entries) + [
                      'requires_deep_update', 'functions', 'variables', 'api', 'status'
                  ]
              )
          )
          
          return type(
              'Device',
              (_BaseDevice, namedtuple('Device', attrs)),
              {'__slots__': (), 'spark_cloud': spark_cloud, 'timeout' : timeout}
          )