On top of StakedTokenV3 which implements the slashing functionalities, the following are needed:
- ability to stake using permit
- implement a claimRewardsOnBehalf() that allows whitelisted helper contracts to claim on behalf of a user. This will be used to implement claiming across all the possible stake tokens in the safety module
- implement a claim and restake functionality to allow easy compounding without requiring two transactions