Completed main aspects of the History traversal algorithm
State objects and firing corresponding events are not still supported.