1. A computing platform configured as a hierarchy of nested data structures, the computing platform comprising a processor and memory storing instructions, the instructions being executable to configure the processor to provide: an application programming interface for a data structure, wherein each data structure comprises contents, and wherein the application programming interface defines: at least one function for nesting one or more data structures within the contents of an enclosing data structure such that nesting the data structures within the contents of the enclosing data structure results in a hierarchy of nested data structures; at least one function for removing one or more data structures from the contents of the enclosing data structure; at least one function for retrieving one or more data structures from the contents of the enclosing data structure; and at least one function for modifying the contents of one or more data structures; wherein each of the plurality of functions receives one or more data structures as a parameter; wherein the function for removing and the function for retrieving receives as the parameter a pattern defining a template for one or more data structures of interest, the pattern having a head concept and zero or more nested concepts, wherein the concept is an ordered list of elements identifying a concept name and structure; and wherein the function for removing and the function for retrieving matches the contents of the enclosing data structure against the pattern in a recursive manner, matching first by the head concept and then by the zero or more nested concepts; an event model and wherein each of the functions generate an event by invoking an event notification function to signify a query of the data structure or a change in contents of the data structure; one or more observers, each observer defining one or more functions of interest; one or more phases of interest; and a pattern describing a configuration of a data structure of interest; wherein each observer is embodied as a data structure; wherein each observer may be active or inactive; and wherein each active observer monitors its enclosing data structure for one or more events associated with the pattern.