loaders are responsible for populating an AddressSpace and Module, and optionally additional metadata.