Witam, mam w Javafx problem związany z komunikatem:

Not on FX application thread; currentThread = Timer-0

Dzieje się to dlatego, iż w wątku cyklicznie wywoływanym przez Timer chcę dodać do javafxowego Pane jeden Node.

PassengerUI passenger = new PassengerUI(action.Passenger());
            Group node = passenger.node();
            getChildren().add(node);

rozumiem niebezpieczeństwo kolizji na danych, a w Internecie znalazłem rozwiązanie:

//klasa wewnętrzna klasy extends Pane
 private class PassengerEnteredHandler extends Thread implements SimpleActionListener<PassengerEnterAction>
    {
        //wątek został stworzony, gdyż dodanie dziecka z wątku timera zgłasza błąd. Dlaczego?

        @Override
        public void run()
        {
            PassengerUI passenger = new PassengerUI(action.Passenger());
            Group node = passenger.node();
            getChildren().add(node);
        }
        private PassengerEnterAction action;

        @Override
        public void onComplete(PassengerEnterAction action)
        {
            //listener odpalony przez wątek timera
            this.action = action;
            Platform.runLater(this);
           
            
        }
    };

Pytam więc, czy jest jakieś sprytniejsze rozwiązanie umożliwiające zapis do getChildren() z wątku timera. Jeśli nie ma, to czy jest możliwe interwałowe odpalanie jakiejś funkcji na zasadzie setInterval(cośtam, 1000) na jednym wątku Javafxowego GUI??