    class
    	WEL_PROCESS_LAUNCHER

    General
    	cluster: wel
    	description:
    		"Launch processes and redirect output:
    		  - Use `spawn' to launch a process asynchronously.
    		  Note: you cannot retrieve the ouput from a
    		  process that was spawned
    		  - Use `launch' to launch a process synchronously
    		  and process its output if needed."

    Ancestors
    	ANY
    	WEL_PROCESS_CREATION_CONSTANTS
    	WEL_STARTUP_CONSTANTS
    	WEL_SW_CONSTANTS

    Queries
    	hidden: BOOLEAN
    	last_launch_successful: BOOLEAN
    	last_process_result: INTEGER_32

    Commands
    	launch (a_command_line, a_working_directory: STRING_GENERAL; a_output_handler: ROUTINE [ANY, TUPLE [STRING_8]])
    	launch_and_refresh (a_command_line, a_working_directory: STRING_GENERAL; a_refresh_handler: ROUTINE [ANY, TUPLE])
    	run_hidden
    	set_block_size (a_size: INTEGER_32)
    	spawn (a_command_line, a_working_directory: STRING_GENERAL)
    	spawn_with_console (a_command_line, a_working_directory: STRING_GENERAL)
    	terminate_process