There is one main problem with that idea. "On-receive" scripts open a whole big can of worms that needs very careful security analysis.
Correct. That is why transaction scripts does not depend on a external state. Also new script opcodes are not introduced lightly, they are essentially hard forks.