make Commit a lazy class