Elaborate on the evaluate observer spec
Line up observer nomenclature

-   Use "source" variable name consistently and pervasively.
-   Use array [key, value] items instead of {key, value} items
    throughout, and get leverage from shared code.