Added SFunction, SConsumer and updated traversal and steps to be able to serialize themselves (if in fact they can).