starting to refactor; BuildCache and BuildFile.Cache should be merged.