@Override
			public void changed(ObservableValue<? extends Scene> observable, Scene prior, Scene current) {
				node.sceneProperty().removeListener(this);
				future.complete(function.apply(node));
			}
@param node
		Node to initiate query with.
@param function
		Function taking in the node and yielding some value. To be run when the node has a {@link Scene} associated with it.
@param <T>
		Function return type.
@param <N>
		Node type.

@return Future of function lookup.
recaf-ui/src/main/java/software/coley/recaf/util/SceneUtils.java