Flux-corrected transport II: Generalizations of the method