code: def add_hotspot(self, hotspot, xy):
          
          (x, y) = xy
          assert(0 <= x <= self.width - hotspot.width)
          assert(0 <= y <= self.height - hotspot.height)
  
          # TODO: should it check to see whether hotspots overlap each other?
          # Is sensible to _allow_ them to overlap?
          self._hotspots.append((hotspot, xy))
docs: Add the hotspot at ``(x, y)``. The hotspot must fit inside the bounds
          of the virtual device. If it does not then an ``AssertError`` is
          raised.