Well if you look at this that way then its already is 2 stage. Well kinda...

One piece of code is picking map blocks and second below it is picking selector blocks.
Its just copy/ paste of picking code with slight modifications for selector blocks.

I dont know if you meant that but if not then i should try it. Have to think a bit.
Its almost perfectly working atm but just 1 (ok in worst case 2) problem(s) still exist.

I will devote more time to this today, maybe whole night and will try different things.