No need to carry sample rate information around (we don't even use it), so convert class Samples into a typedef of vector<float>.
Need to multiply the difference signal by 2 before adding or subtracting it (maths!).
Adjust how the pilot tone is locked onto, and filters for FM signal.