Refactor Port classes to compare datatypes, not colors.