To help the guys coming after us, instead of implementing your own 'Stack2', take a look at the 'UnboundStack' from ux_improvements