Moved sender-receivers into same class for simplicity

They're basically the same anyway, so why da eff not.
Moved datamodels into one class for simplicity

Like the sender-receivers, very little functional difference between
them, so they're the same now.