Will this class function with the commit methods having empty bodies?  Or is this class meant to be extended?  If it's meant to be extended and those methods can't be empty, I'd make them abstract.  If that's not the case, then ignore this comment :)