Move ByteBuffer to its own source file and add overloaded operator[] to get single byte from any position in buffer
Added Singleton class