Interesting that I need to wrap my modal dialog close() calls in a runLater() despite the subscribe() being invoked on the FX Thread. I'm guessing that there is something threaded at the OS level that's throwing a concurrent modification exception if i unwrap it. The runLater() must be queuing my requests FIFO