public void CheckHummingbird()
        {
            status = releaseStage.ToString();
            if (releaseStage == 0)
            {
                // Check for completeness
                if (!Hummingbird.CheckHummingbirdComponents(ChasisMerge, ref hummingbirdConnector, ref turretRotor, ref PartScratchpad, ref status))
                {
                    return;
                }

                if (!Hummingbird.CheckHummingbirdComponents(TurretMerge, ref hummingbirdConnector, ref turretRotor, ref PartScratchpad, ref status))
                {
                    return;
                }

                if (turretRotor == null || hummingbirdConnector == null)
                {
                    return;
                }

                turretRotor.Detach();

                Connector.Connect();

                var inventoryItem = Host.AmmoBox?.GetItemAt(0);
                if (inventoryItem != null)
                {
                    Host.AmmoBox.TransferItemTo(Connector.OtherConnector.GetInventory(0), (MyInventoryItem)inventoryItem);
                }

                Connector.Disconnect();

                releaseStage    = 1;
                Piston.Velocity = -0.2f;
            }
            else if (releaseStage == 1)
            {
                // Move pistons
                if (Piston.CurrentPosition == Piston.MinLimit)
                {
                    releaseStage = 2;
                }
            }
            else if (releaseStage < 0)
            {
                releaseStage++;
            }
        }