use the lru to limit how much state is preserved
actions do not need to be created every time

potentially exploitable security hole here. If actions
always have the same id, then they can be predicted and
possibly coerced into running in an invalid context.

need to think about this...