introduced NewCommit ctor overloads to simplify the test API