Yes agreed. This is similar to how hive handles it, but I didn't realize there is one difference making it a lot more complicated in that you can unstake multiple times and different amounts whereas on hive you can only do 1 amount.
Need UI to adjust for this for now, but it is a bit annoying to compute with the current state of the API
RE: What is going on with Hive Engine and Unstaking?