 found in the control class are dropped.
 ###
 restorePropertyCase = ( controlClass, properties ) ->
-  return properties  if $.isEmptyObject( properties )
-  map = classPropertyNameMap( controlClass )
+  return properties if jQuery.isEmptyObject properties
+  map = classPropertyNameMap controlClass
   result = {}
   for propertyName of properties
-    mixedCaseName = map[propertyName.toLowerCase()]
-    result[mixedCaseName] = properties[propertyName]  if mixedCaseName
+    mixedCaseName = map[ propertyName.toLowerCase() ]
+    result[ mixedCaseName ] = properties[ propertyName ] if mixedCaseName
   result
-    
+
 
 ###
 Cached maps for property names in rehydrated control classes. See below.

###
getCompoundPropertiesFromChildren = ( element ) ->
  properties = {}
  $compoundElements = Control( element ).children().filter( "[data-property]" ) 
  for $compound in $compoundElements.each()
    propertyName = $compound.attr "data-property"
    if propertyName isnt "control" # data-control means a control, not a property.
      $value = $compound.content()
      properties[propertyName] = $value
      # Detach before removing so we preserve subcontrols.      
      $value.detach() if $value instanceof jQuery
  $compoundElements.remove()

page automatically rehydrated on load.
###
jQuery ->
  $body = Control "body"
  $body.rehydrate() if $body.data "create-controls"
