topic/PLAT-6804

Refactor BasisFunctionGenerator
Yes, I want uses to use generateSet to rather than this to get a single function - this is protected just so it can be tested