[WIP] PSM Step 1

This is totally WIP.
Would it not be safer to future-proof it though? To me, it makes sense to make this extensible for apps to use now, rather than revisit and reengineer down the line.