Sometimes classes are only introduced to make the code more readable. The TimeDelta class is one of these. It actually just provides a convenience interface to get the elapsed time since a start point.

class TimeDelta 
{
public:
    /// Create a new time delta.
    ///
    TimeDelta()
        : _start(0)
    {
    }
    
    /// dtor
    ///
    ~TimeDelta()
    {
    }
    
    /// Start the time delta with the given time.
    ///
    void start(const unsigned long time)
    {
        _start = time;
    }
    
    /// Check how much time elapsed since the start.
    ///
    unsigned long elapsed(const unsigned long time) const
    {
        return time - _start;
    }

private:
    unsigned long _start; /// The start time.
};

You use the class in this way:

TimeDelta delta;
// ...
delta.start(currentTime);
// things happen
if (delta.elapsed(currentTime) > 500) {
   // ...
}

Continue here: Controlling the LED