Should be ctx$onFlush, not ctx$onInvalidate