I think an important test of this API would be to add or port existing pgm classes over to use it.  We don't yet have a commit subcommand.  Maybe you can try adding it as part of this series to show how to use the CommitCommand, and to prove that the API can be used to simply perform the exact function its supposed to do.