docs: def add_view(self, *args, **kwargs):
          """
          Add a new view
  
          Parameters
          ----------
          uid: string
              The uid of new view
          width: int
              The width of this of view on a 12 unit grid
          height: int
              The height of the this view. The height is proportional
              to the height of all the views present.
          x: int
              The position of this view on the grid
          y: int
              The position of this view on the grid
          initialXDoamin: [int, int]
              The initial x range of the view
          initialYDomain: [int, int]
              The initial y range of the view
          """
          new_view = View(*args, **kwargs)
  
          for view in self.views:
              if view.uid == new_view.uid:
                  raise ValueError("View with this uid already exists")
  
          self.views += [new_view]
          return new_view