For json_output_handler, use private virtual inheritance for implementing value methods, allowing overloading value methods
Restored null_value as interface method