Working basic execution tracking.

Need to change so that execution edge is updated before the computation of the return value, not after.

Also need to allow "previous" and "next" pointers to maintain a global ordering.