Any reason why this is a String and not e.g an Object which could then simply hold the correct type (Int, Float, String) and avoid the parsing logic we are now adding everywhere?