Move some func macro memoization functionality into Executable