pmt: split PMT parsing routines into a baseclass