It is designed to have a modern, component-based microkernel architecture allowing for customization by feature, size, and speed by selecting the components engineers wish to include while meeting the tight memory constraints of embedded systems.