1. A method for interacting with an external program from within another program executed by a computer, comprising the steps of: receiving a first command from a user into a first program and initiating execution of a second program in the computer in response to the first command, wherein the first program communicates with the second program in a bi-directional manner; receiving a second command from a user into the first program and storing data in a retrieval buffer within the first program in response to the second command; receiving a third command from a user into the first program, retrieving the data stored in the retrieval buffer, and passing the retrieved data from the first program to the second program in response to the third command, wherein the second program interprets the passed data, performs one or more functions in response to the interpretation of the passed data, and returns output to the first program as a result of the performed functions.