SemanticAction added

Also changed a few things around in the other two classes mostly for
more/less debugging/code clean-up. If you have any issues with it let me
know and I'll see if I destroyed everything.