What I'd do is, whatever Script is responsible for handling the pimp at the door, you have an enum of states just to make things clear. In that script, have your handleEvent respond to "ken sent me" by checking if state is "waiting for the password". If so, cue the Script. If not, print a joke and don't cue anything.
Or, if you want the pimp to time out, set seconds in the "wait for password" state and have the next one(s) react to a failure to give the password, where the script Just Stops. Have another (enum-named) state after that which handleEvent can respond to by first clearing the Script's seconds and then changeState to the "password accepted" state.
Does that make sense?
As for getting lost organizing your scripts: that's why you define enums for your states. Sierra sure did, and it's an example that helped me a great deal so far.