Moved creation of commit to virtual method to allow customization

We want to do an optional decompression per commit (determined by a value in the header). With this virtual method, we can hook into the deserilization of the payload and choose to either decompress or not