[WIP] Spi object refactoring on actions for better SPI cache efficieny

Changes to avoid having to clear so much cache on operations, avoids cache wipe outs on every operation big and small.

Only thing AFAIK that speaks against doing this is if we could rather spend effort on moving cache to API, then this is unneeded and waste of time.