Using commit_manually() introduces a bunch of pitfalls, which this commit should resolve