On Generalized Branching Methods for Mixed Integer Programming