Base class for all objects that can be referenced from a script. This defines an interface for the basics, like using them as containers, querying and modifying properties, adding/removing user properties, deleting the object, Getting a context to run scripts in, sending messages and passing them up the hierarchy, opening a script editor etc.
The bool returns on these methods indicate whether the given object can do what was asked (as in, ever). So if a property doesn't exist, they'd return FALSE. If an object has no contents, the same. Some other calls may return NULL instead of an object for the same reason.
< Error handler takes errMsg, line, offset, object, wasHandled.
< To find whether this object implements the given message.
< To find whether this object implements the given message, or someone up the hierarchy does that this object will forward it to (e.g. to not ask the OS for mouseMoved events unless actually implemented).