JavaFX Toggle visibility of self within controller

I have a StackPane made up of BorderPanes that are included from elsewhere. All but the first pane are set to visible=false. Here's a generalised example of what I have:
Stacks.fxml
<StackPane fx:controller="StackController">
    <fx:include source="borderOne.fxml" />
    <Button fx:id="showBorderTwo" text="Show Border Two" />
    <fx:include fx:id="borderTwo" source="borderTwo.fxml" visible="false"/>
</StackPane>

StackController has:
public class StackController extends StackPane implements Initializable {
    @FXML
    Button showBorderTwo;
    @FXML
    BorderPane borderTwo;

    public void initialize(URL location, ResourceBundle resources) {
showBorderTwo.setOnAction((event) -> {
borderTwo.setVisible(true);
});
    }
}

Now, that part works fine. However, BorderTwo has:
BorderTwo.fxml
<BorderPane fx:controller="BorderTwoController">
    <Button fx:id="close" text="Close" />
</BorderPane>

BorderTwoController
public class BorderTwoController extends BorderPane implements Initializable {
    @FXML
    Button close;

    public void initialize(URL location, ResourceBundle resources) {
close.setOnAction((event) -> {
setVisible(false);
System.out.println("visible: " + visibleProperty().toString());
});
    }
}

The application starts without showing border two (correct).
The "show border two" button shows border two (correct).
The "close" button does not hide the border two pane.
Interestingly, the print statement says that the visible property is now false after setting it to false, despite the BorderPane remaining visible on the screen. What's going on here? I'm using JavaFX 8u60.

Figured out the solution thanks to a comment. I was confusing controllers and custom components. Solved it by changing:
BorderTwo.fxml
<BorderPane fx:id="menu" fx:controller="BorderTwoController">
    <Button fx:id="close" text="Close" />
</BorderPane>

BorderTwoController.java
public class BorderTwoController implements Initializable {
    @FXML
    BorderPane menu;

    @FXML
    Button close;

    public void initialize(URL location, ResourceBundle resources) {
close.setOnAction((event) -> {
menu.setVisible(false);
});
    }
}

BorderTwoController, despite extending a BorderPane, was not actually a StackPane as it was just a controller for the BorderTwo.fxml. Adding an fx:id to the BorderTwo.fxml and then linking to this from the controller to toggle visibility worked just fine.