Methods for Carriers: launch & recover fighters?

Are there any ideas for a unit (CV) to have carried units that can be launched as independent units (fighters). And where the fighters move back onto the CV and get “sucked in” (removed from the map) and recorded for future launches.

I can sort of figure out the landing part (recording ID and state in DPs, then SendToLocation). The launching part is my lack. Some trigger that sends GKC for a specific ID which returns to specific counter (CV ID). Okay for one fighter, but if there are more than one and/or of different kinds, how do I select/display which to launch?

Any clever thoughts?

Thanks

Off the top of my head, perhaps a layer or text label that the user can cycle through; then reference the appropriate property when creating the fighter.
Here’s what I would do if I really wanted this to work: I’d have a numeric dynamic property to cycle through the fighter types, and on the same hotkey as my ‘increment’ command I’d have a group of triggers (with, i.e., MatchingProperty: fighterType = 1) to update the text in a text label. I’d use action buttons to perform the launch and cycle through the fighter types (with, for example, scroll arrow graphics), and I’d hide it all in a layer to make it look more like a popup dialog.
To keep track of the units on the carrier, I’m thinking I’d also need a num_onboard DP for every possible unit type on the carrier, and update these when loading/unloading.
But it sounds like a pain in the butt IMO, so unless I was doing it as a proof of concept I’m thinking I’d be more likely to just let players use stacks, Game Piece Layers, and SendTo/SendBack?