fun Node.hidden(expr: () -> ObservableValue) { val obs = expr() val binding = if (obs is BooleanBinding) obs.not() else obs.toBinding().not() visibleProperty().cleanBind(binding) }