package dev.isxander.yacl.api; import dev.isxander.yacl.impl.GenericBindingImpl; import java.util.function.Consumer; import java.util.function.Supplier; public interface Binding { void setValue(T value); T getValue(); T defaultValue(); static Binding of(T def, Supplier getter, Consumer setter) { return new GenericBindingImpl<>(def, getter, setter); } }