Adding state based parsing instead of element based
Started implementing factory pattern, changed element to abstract
Complete overhaul to builder or factory pattern