On decomposing Boolean functions via extended cofactoring