Right now, the only way to register a model instance with Syrup is to just start using it and trigger lazy loading, which looks for the model's class file on the filesystem and instantiates it. Syrup needs to be able to also support programmatically creating a model instance and requesting that it be registered. This will most commonly follow a pattern like creating a new instance of BaseModel, then setting its magic members and field instances, then attaching it to Syrup with some special name that doesn't necessarily match a module.
Right now, the only way to register a model instance with Syrup is to just start using it and trigger lazy loading, which looks for the model's class file on the filesystem and instantiates it. Syrup needs to be able to also support programmatically creating a model instance and requesting that it be registered. This will most commonly follow a pattern like creating a new instance of BaseModel, then setting its magic members and field instances, then attaching it to Syrup with some special name that doesn't necessarily match a module.