private TranslateTransition slideOut(Region overlay) {
        TranslateTransition close = new TranslateTransition(
                new Duration(ANIMATION_DURATION_DRAWER_CLOSE), overlay);
        close.setOnFinished(event -> {
            overlay.setVisible(false);
            LOGGER.trace(
                    "Overlay LayoutX: " + overlay.getLayoutX() + " TranslateX: " + overlay.getTranslateX());
        });
        return close;
    }
Handles the initial animation of an overlay.

<p>An overlay will have a default size of {@code 0}, when it is <b>first being shown</b> by
{@link WorkbenchPresenter#showOverlay(Region, boolean)}, because it has not been added to the
scene graph or a layout pass has not been performed yet. This means the animation won't be
played by {@link WorkbenchPresenter#showOverlay(Region, boolean)} as well.<br>
For this reason, we wait for the {@link WorkbenchOverlay} to be initialized and then initially
set the coordinates of the overlay to be outside of the {@link Scene}, followed by playing the
initial starting animation.<br>
Any subsequent calls which show this {@code workbenchOverlay} again will <b>not</b> cause this
to trigger again, as the {@link Event} of {@link WorkbenchOverlay#onInitializedProperty()}
will only be fired once, since calling {@link Workbench#hideOverlay(Region)} only makes the
overlays not visible, which means the nodes remain with their size already initialized in the
scene graph.

@param workbenchOverlay for which to prepare the initial animation handler for
@param side             from which the sliding animation should originate
workbenchfx-core/src/main/java/com/dlsc/workbenchfx/Workbench.java