added `openOn` option to allow delayed triggering of `open`