Refactor with State Pattern in Combiner