Because this is the underlying mechanism. The real client adds the RtEpochs object's raw process data method to a list of callbacks and calls (it whenever it wants / data arrive, etc.). Here we just control the time at which this happens. In contrast to the real mechanism we do not need to deal with concurrency, networks, data acquisition, and hence, we do not need to initialize anything. We can just send data without calling start, etc. Makes more sense now?