Is there a specific reason why BufferingAudioReader inherits privately from TimeSliceClient?
I would quite like to be able to add and remove multiple instances of this class from a TimeSliceThread to help with efficiency but with the current implementation I cannot do this.