1. A method for managing data from Natural User Interface (NUI) devices, the method comprising: receiving at least an input from at least one of input NUI sources, wherein said input sources include gesture devices, speech engines and behavioral sources; converting said input to a specified form by an NUI adapter; storing at least an NUI converted input from each adaptor separately an NUI events exchanger; receiving said converted input by an NUI events manager; storing at least a high level input event into a repository by said NUI events manager; and creating a combined output from the converted input and at least one behavior pattern rule by a behaviour analysis engine, said behavior analysis engine comprising said behavior pattern rules and a training module, said training module configured to collect at least one new NUI event and create new behavior pattern rules, further wherein said training module is adapted to train said NUI device to understand and recognize new NUI event interactions.