Parametrize the ReducedFunctional
Avoid defining functions within functions
Hide internal ReducedFunctional methods from docs
Remove unused functions from ReducedFunctional
Update example