FreeBSD had been designed to keep some things separate: a "base" system and additional software. However, it is unlike a modern, image-based system.
Everything could be modified by the user, and you need to figure out how. It would require multiple tools to manage different parts of the (file) system.
This confuses me a lot, especially when an extra package would override or add to the base system, such as a driver (availalbe as a "kmod", in FreeBSD terms).