gitignore the build folder
Cache the objectReflector and make it look like a map (user [])
Introduced _ObjectReflectorDeclaration

to abstract away the computation of the value of a possible
valid field of an object
Extracted some parts of code in to their own methods
Move more functionality factory constructor

that way we get rid of the static methods