acted as keys to set or retrieve values, but in addition possessed arbitrary behavior. This allowed properties to have intelligent behavior (e.g., trigger an inference engine or serve as endpoints in RPC networking); one could think of them as "smart properties". The idea was to allow application programmers to focus on the manipulating objects rather than having to learn APIs—which would be built into the objects. Not implemented was a hierarchical namespace managing property names. SK8Script Until 1989, SK8's scripting language was Lisp. This changed to SK8Script, which was heavily influenced by HyperTalk (HT). Many of the differences between SK8Script and HyperTalk can be considered to be generalization of HT concepts, removing tight integration with particular objects in the HyperCard universe and replacing them with generalized syntax that could interact with any object. Like HT, a core concept of the SK8Script system are the "containers", which roughly equate to objects in conventional systems, and the "chunking" system that allowed those containers to be identified and enumerated. HT had introduced the idea of offering multiple ways to address objects and collections, allowing the programmer to select whatever syntax seemed most natural in context, and then use an entirely different syntax somewhere else. SK8Script offered a similar system. Graphics and Component Objects SK8's universe was made up of a multimedia-oriented system using Actors on a Stage. Actors were any objects that were based on the prototype Actor object, which contained the basic framework needed to provide 2D graphics support - the location and size of the object for instance. Actors became visible when they were placed upon the Stage, an invisible background object that captured user events to provide interactivity. In SK8, a traditional window was an object like any other graphics object. When an Actor was on the Stage, it could behave as a window-like object. It was easy to design complex objects that behaved like windows (e.g., a donut-shaped window; its hole's opacity 0%, with content being a text object scrolling around or perhaps a movie playing within its frame). An object known as the "halo" provided resize handles and other widgets for manipulation in a visual development environment. All SK8 Actors could contain other actors. The hierarchy could be navigated using the chunking expressions, so one could set the visible of the first Rectangle in CoolOval to true. The objects could then be made visible in the UI by