The central point of Object I/O
are
various kinds of objects (devices) as Windows, Controls, Timers,
Menus and Process. Every object has it's own unique Id which may
be defined from user or may be automatically generated from the
system. Having object Id we may manage it, i.e. change it
attributes. For example: we may change the windows's title. The
most important attribute of the object is it's local state. It can
be data from various types who describe the current state of the
object. The object can also receive events. Every time an event is
received, a user defined function, named 'handler', is called.
The 'handler' takes current local state of the object and the
local state of process in which the object exists, and returns the
modified states.