private void OnDataReceived(object sender, DataReceivedArgs args)
    {
        switch (args.Type)
        {
        case DataType.SceneState:
            SceneState.FromByteArray(args.Buffer, ref this.sceneState);
            this.OnSceneData();
            break;

        case DataType.InputState:
            InputState.FromByteArray(args.Buffer, ref this.inputState);
            this.OnInputData();
            break;
        }
    }