Refactored to bundle code into individual classes.
Changed the BinarySerializer to use a byte array rather than a stream since all calls were going to be using a byte array.