Modified commit semantics and add push event back in