Values are now created dynamically through a user extendable layer which could provide caching.
Removed an unneeded Evaluate abstraction.
Added some more comments and performed some code cleanup.
Removed useless extra layer of folder indirection.