Fix Noobfesting

we still need the changed variable to accumulate changes in the iterations.
Start Refactor on Output

Pass the grammar directly to the output function. Need to create the output
context object next. This will be responsible for holding all the variables
relating to the output of things.