As discussed, implement modified version of liquidity mining where each stake() creating a new position instead of modifying the old one.
Implementation details
Unstake now requires to specify the stake id.
All user stakes could be fetched with getStakes(user).