Create/Modify/Invoke Views via scripts

I would like to have the following capabilities in scripts (including those triggered by a Button):

  1. Create a new View
  2. Open an existing View
  3. Adjust a View’s filter, sort, color options, etc.

Main use case: a button in an entity view that opens a specific view and customizes the filtering/coloring rules. This is essentially a way to perform a fancy search that is relevant to the context of the original entity.