The method constructors (bw_entropy() and its siblings) return small
S7 objects that carry tuning parameters and never touch data. They share an
abstract hierarchy so that balance() can query a method's capabilities
uniformly. balance_method is the abstract root. The estimating-equation
family (entropy balancing, inverse probability tilting, the covariate
balancing propensity score) subclasses estimating_equation_method; the
quadratic-program family (energy, characteristic function distance, and
stable balancing weights) subclasses quadratic_program_method. None of the
abstract classes can be constructed directly.