Lots of small tidy ups
Move Factory namespace to Builder
Remove all fluent interfaces
Refactor cache creation