Доступ к полям из другого контроллера в JavaFX

Я пишу небольшое приложение, используя JavaFX, но я застрял с одной проблемой.

У меня есть файлы fxml:

MainPane.fxml
Stream.fxml
Play.fxml

и у каждого из них есть свой контроллер:

MainPaneController.java
StreamController.java
PlayController.java

Где в MainPane находится:

<GridPane fx:controller="model.MainController" fx:id="mainGrid"
    xmlns:fx="http://javafx.com/fxml" alignment="CENTER" gridLinesVisible="true">

    <children>
        <fx:include source="Stream.fxml"/>
    </children>

    <children>
        <fx:include source="Play.fxml"/>
    </children>
</GridPane>

Play.fxml имеет это поле:

<TextField fx:id="searchField" text="Search" onAction="#search"/>

теперь, когда действие (кнопка ввода), если запущено, я хочу получить доступ и изменить метку в Stream.fxml следующим образом:

public class PlayController implements Initializable {

    @FXML
    private TextField searchField;

    @FXML
    protected void search() {
        System.out.println("Search");
        String text = searchField.getText();
        //how to access Label in StreamController
    }
}

Я хотел бы избежать привязки, как

MainPaneController <-> StreamController
MainController <-> PlayController

и доступ к полям, как:

mainController.getStreamController.changeLabel(text)

потому что я надеюсь, что есть лучший способ сделать это.

Ответы на вопрос(2)

Ваш ответ на вопрос