Extracted pc serialization to separate methods, so they can be overriden by subclasses that could use different serialization routines