Add Basic Options class, add SeperateProcess support for exec commands

Although normal functions will not work while using seperate processes.