What if we could cast spells, but leave them in abeyance pending a trigger condition?
e.g., say I have a mountain pass that I want to defend. I cast "fireball" with the trigger option, and set it to go off the first time an enemy unit enters the pass, targeting that unit. Or maybe I cast a temporary area defense spell and set it to trigger when an enemy army approaches my city. Or I cast a healing spell and set it to trigger on my sovereign when their health drops below 25%.
From a mechanics point of view, you'd pay the same cost as when you cast normally (maybe with some extra off the top if it's needed for balancing), choose a trigger condition, and then the spell would be saved for future use. When the trigger condition is met, the spell auto-casts and disappears.
Basically, you'd get the ability to cast more spells at once than you normally could (maybe you can cast one fireball per turn, but you can set five to trigger on the same area), but at the cost of being unable to exercise fine control over the casting: you're stuck with the trigger you set when you cast the spell. If the condition never triggers or triggers in an ineffective way (congratulations, you just opened a volcano under one enemy scout), the spell is wasted. And the banked spells are one-shot deals: after they fire, you have to spend the mana all over again to set them up again.
If that isn't enough of a downside, a very natural additional cost would be for the stored spells to eat up enchantment slots, so they'd be limited by your essence and they'd compete with normal enchantments.
And combined with all this, you'd of course also want the ability to detect stored magic and dispel it.