public override void Process(OpenableStateChanged packet)
        {
            Optional <GameObject> opGameObject = GuidHelper.GetObjectFrom(packet.Guid);

            if (opGameObject.IsPresent())
            {
                Openable openable = opGameObject.Get().GetComponent <Openable>();

                if (openable != null)
                {
                    using (packetSender.Suppress <OpenableStateChanged>())
                    {
                        openable.PlayOpenAnimation(packet.IsOpen, packet.Duration);
                    }
                }
                else
                {
                    Console.WriteLine("Gameobject did not have a corresponding openable to change state!");
                }
            }
            else
            {
                Console.WriteLine("Could not find openable game object with guid: " + packet.Guid);
            }
        }
        public override void Process(OpenableStateChanged packet)
        {
            GameObject gameObject = GuidHelper.RequireObjectFrom(packet.Guid);
            Openable   openable   = gameObject.RequireComponent <Openable>();

            using (packetSender.Suppress <OpenableStateChanged>())
            {
                openable.PlayOpenAnimation(packet.IsOpen, packet.Duration);
            }
        }