When no file_browser pane exists, two rapid open_file_in_browser events could both trigger create() since the ref check happens before the first create resolves. Add a creating flag/promise so the second event waits for the first create then updates the newly-created pane's state.