Instead of patch() and apply() as two methods combined for simplicity
and thus removed CommitPatch. Also removed some System.outs used for
debugging