Themes
Themes are “applet compositions” and opt for a traditional way of interacting with them, like a regular (web) app:
Applets
Engines
Applets with each a singular purpose and don't have any UI. There are specialised UI applets in themes that control these.
Storages
Input and output managers of the system. Where input is audio files or streams, and output is derived data such as a music playlist.
Processors
These applets interact with the bytes provided by the data storage applets, or provide to. This processed data can then be passed on to the UI layer and engine applets.
Configurators
Applets that serve as an intermediate in order to make a particular kind of applet configurable. In other words, these allow for an applet to be swapped out with another that takes the same actions and data output.
Orchestrators
These too are applet compositions. However, unlike themes, these are purely logical, and optional. Mostly exist in order to construct sensible defaults.
Supplements
Additional applets, such as scrobblers.