setNeedsDisplay() {
    this._needsDisplay = true;

    if (this.superview) {
      this.superview._setSubviewsNeedDisplay();
    }

    this.subviews.forEach(subview => subview.setNeedsDisplay());
  }
Invalidates view's contents.

Downward propagating; once called, all subviews of this view should also
be invalidated.