Added mode to differentiate set/state type features.

Can probably start reviewing this. I still need to add different modes into the dictionary parsing test and make sure everything still passes. /cc @charleso 
You will have access to the concrete state here if you wanted to use that. I guess the output for these output dictionaries needs to be changed anyway (and may not need to display to this value, but I'm not sure)