Add onceAndThen combinator