make it easier to potentially split SignalBase into cpp+h