Start refactoring visualizers to handle undefined property values

Previously, when a property was undefined, the visualizer would just leave the existing value.  We now revert to the default value.  This also simplifies the code by introducing a helper function.