valid values is now generic and dependant on  implementation of child loadValidValues