public static void Serialize(InputCommand input, ref ComposedByteStream storeTo)
        {
            float[] data = new float[4];
            data[0] = (int)input.state;
            data[1] = input.position.x;
            data[2] = input.position.y;
            data[3] = input.axis;

            storeTo.AddStream(input.id);
            storeTo.AddStream(data);
        }
        public static InputCommand Deserialize(ref ComposedByteStream stream)
        {
            InputCommand result = new InputCommand();
            result.id = stream.ReadNextStream();
            float[] data = stream.ReadNextStream<float>();

            result.state = (HumanInputState)data[0];
            result.position.x = data[1];
            result.position.y = data[2];
            result.axis = data[3];
            return result;
        }