GH #126 - Moved SIO into a separate module
GH Closes #126 - Made each of the SIO types handle de-/serialization itself