On Decomposing Boolean Functions via Extended Cofactoring