Cache Execution evaluations

closes #1055 
Keep in mind that immutable maps use structural sharing, so they take O(log_32 N) copies to update an immutable Map.

Also, there will be few executions, not like 1000s, so I don't think it will be much of an issue.