1. A method of controlling a plurality of machine tools including a first machine tool and one or more additional machine tools, the method comprising: providing a controller having a memory portion with a part program library configured to receive a first part program in at least one string array, wherein the first part program includes parameters for guiding each of the plurality of machine tools; and wherein the parameters include axis coordinates for instructing a servo to move a machine tool part to a position as specified by the first part program; allocating an active tool path buffer and an active display path buffer in the memory portion, wherein the active tool path buffer is configured to serve as a memory source for the first part program when decoding the first part program for execution, and wherein the active display path buffer is capable of communicating a status of the first part program during execution of the first part program; allocating one or more edit path buffers in the memory portion, wherein a copy of the first part program is receivable into a first edit path buffer of the one or more edit path buffers, and wherein the first edit path buffer is capable of providing the first part program for display on an interface and for receiving inputs from the interface to modify the first part program; configuring the active tool path buffer, the active display path buffer, and the first edit path buffer to allow for simultaneous execution and editing of the first part program; and operating the first machine tool in accordance with the first part program and each of the one or more additional machine tools respectively in accordance with either the first part program or one or more additional part programs, wherein the first machine tool and the one or more additional machine tools are run simultaneously.