Made a major refactor on most of the files.
Added LimitCriteriaFactory and LimitCriteria to the project.