It is written in a highly modular style and makes extensive use of vectors so it is easy to modify and extend by loading new modules in RAM.
A large number of system calls (called "SWIs" - software interrupts) are available to the applications programmer and some of these are available as user comands via a built-in command-line interpreter.