Refactor out extended functionality into its own 'Extended mode' so that original programme that met the original requirements still stays in tact.  If app run in normal mode, extended mode commands are ignored