NMEA line listener base class created, chance of race condition on port auto-sensing eliminated, refactoring