Functions updated to use value arrays instead of mappings. Creating FunctionFactory for creating child functions instead of through the function implementation classes.