add struct for a viewWindow, encapsulates just one of the windows of a view. Add callbacks + new init call