$sticky_select could actually go into %opts -- like so:

    _do_post( ...., warnings => \@warnings, sticky_select => ... )

And called within as $opts[sticky_select} (it seems to fit being an optional thing).