public BufferedOutStream(Stream stream, BufferSize bufferSize)
{
Verify.NotNull(stream, "stream");
this.stream = stream;
this.syncLock = new Object();
this.bufferSize = bufferSize;
this.bufferStream = new MemoryStream(bufferSize);
this.timer = new Timer(state => Flush(), null, TimeSpan.Zero, TimeSpan.FromMilliseconds(25)); //TODO: Issue #18 - Option Configuration.
}