1. A method of emulating human-like responses, the method comprising: storing a library comprising one or more different subject matter data structures, each data structure comprising a plurality of output instructions related to the subject matter of the data structure, each output instruction producing a human-like response and being associated with a received input stimulus, wherein the received input stimuli comprise human inputs and system inputs, the system inputs received via at least one sensor; associating each event with a tag; using the tag to determine whether an event corresponds to an important event or a non-important event; looking up output instructions in each data structure that are associated with the received input stimulus; outputting, via a human output API, one or more responses to the received stimulus according to a found output instruction when the event corresponds to an important event, wherein the one or more responses are ordered according to a priority rating; placing non-important events in an event queue; applying logical rules to the non-important events to determine whether a plurality of non-important events are collectively indicative of an important event; and outputting, via a human output API, one or more responses when the logical rules determine that the plurality of non-important events are collectively indicative of an important event, wherein the one or more responses are ordered according to a priority rating; wherein the one or more different subject matter data structures are arranged such that the output instructions which produce the human-like response are grouped hierarchically according to their respective associated stimuli.
1. A method of emulating human-like responses, the method comprising: storing a library comprising one or more different subject matter data structures, each data structure comprising a plurality of output instructions related to the subject matter of the data structure, each output instruction producing a human-like response and being associated with a received input stimulus, wherein the received input stimuli comprise human inputs and system inputs, the system inputs received via at least one sensor; associating each event with a tag; using the tag to determine whether an event corresponds to an important event or a non-important event; looking up output instructions in each data structure that are associated with the received input stimulus; outputting, via a human output API, one or more responses to the received stimulus according to a found output instruction when the event corresponds to an important event, wherein the one or more responses are ordered according to a priority rating; placing non-important events in an event queue; applying logical rules to the non-important events to determine whether a plurality of non-important events are collectively indicative of an important event; and outputting, via a human output API, one or more responses when the logical rules determine that the plurality of non-important events are collectively indicative of an important event, wherein the one or more responses are ordered according to a priority rating; wherein the one or more different subject matter data structures are arranged such that the output instructions which produce the human-like response are grouped hierarchically according to their respective associated stimuli. 10. A method as claimed in claim 1 , wherein each data structure is arranged in a plurality of levels, where output instructions are grouped in the same level according to contextually related associated input stimuli.