Some permissions aren't useful by themselves until certain side-effects have been triggered elsewhere in other controllers.
For example, the permission for a snap to talk to a dapp is not useful unless the snap is installed.
To allow for the initial permission request to wallet_snap_* to also trigger installation of the snap, we need a notion of a side-effect specific to that permission.
Some permissions aren't useful by themselves until certain side-effects have been triggered elsewhere in other controllers.
For example, the permission for a snap to talk to a dapp is not useful unless the snap is installed.
To allow for the initial permission request to
wallet_snap_*to also trigger installation of the snap, we need a notion of a side-effect specific to that permission.