IMO, that's the preferred way. The only downside to the javaFX concurrency is what I call "succeeded hell" in some scenarios
an example is processing a form in several stages where the next task is contingent on user input. you need to keep adding tasks to succeeded methods and the nesting becomes tough to read