Use iterator
Object constructor now accepts another parameter, so that
derived classes can specify a script.
Moved code from derived objects (containers, door, regions) to object, thus
removing duplicated code.