Changed observedValues to be a LinkedList instead of an array.
Merge to get the linkedList change on observedValue.
Started on Factor constructor.