"onchange" specifies execution prerequisites. It is specified in the same way as "require", it implies "require", but it specifies that object is executed only if any of specified prerequisites has changed target's state. This means that any of specified prerequisites has generated code to be executed, either local or remote or both. Object has generated code if it itself has generated code or if any of its children object has generated code. Resolve #843.