Cookies are a design pattern used to add behaviors to existing data object and nodes, or to separate implementation from the main object.

The Loaders API describes how to use cookies in conjunction with data objects, including creating new cookie interfaces, creating new cookie support implementations, and reusing existing supports. The Nodes API also permits use of cookies to add behavior to nodes.

For example, the execution cookie, arguments cookie, and debugger cookie specify various ways in which an IDE object (e.g. a compiled class) may be invoked; a reasonable implementation for all three may be created using an execution support, which may be attached to an appropriate data object or node.