The loader system is at the heart of how Salt works. In a nutshell, Salt is a collection of modules tied together with the loader. Even the transport mechanisms, which enable communication between and define the master, minion, and Syndic hierarchies make use of modules that are managed by the loader.
Salt's loader system is a bit unconventional. Traditionally, most software has been designed to require all supported components to be installed. This is not the case with every package, of course. The Apache web server is an example of one project that supports a number of components that need not all be installed. Debian-based operating systems manage Apache modules by providing their
modules-enabled/ directories. Red Hat-based systems take a different approach: all components that are supported by Apache's
httpd package are required to be installed with it.
Making such a demand with Salt is beyond unrealistic. So many packages...