Back to scripts...

It is possible to do a lot without any additional objects.  The first aware object, MOOSE, can be useful by itself.

/script "filename"

SCRIPT allows commands to be input from a file.  Before the first command from a user is able to be processed, MOOSE performs a "/script macros" command.  The commands from the file 'macros' are read, and queued to be processed.  SCRIPT commands are treated as if they were entered at a command prompt.  If there is a '#' on a line, the remaining portion of the line is ignored, allowing script files to have comments.

/macro test      #Define a test macro
#/echo test entered
/endmac      #end the test macro

The prior set of commands creates an empty macro called test in the current active object.  Macros are stored on/in objects, not in the awareness controlling them.

/declare one Hello
/declare two World

DECLARE creates named variables in an object.  Variables are referenced by putting a '%' before their name. '%one' would essentially be the same as 'Hello'. 

/destroy test #remove previous definition (if any) of test.
/macro test param1 param2
/decl local I'm a purple mouse!
/echo %one %two. %local
/echo %param1 %param2
/endmac

DECLARE when used in a macro creates a variable which is only valid during the time of the macro.