This adds no new features, it only refactors the code quite a bit.
The current codebase is a bit scattered, e.g. it's somewhat annoying when functionality such as the step implementation isn't found in the same file as the definition of the sampler itself, and similarly with the states, etc. This made more sense when the package only had one sampler, but now that we've split it up into many samplers, less so.
This adds no new features, it only refactors the code quite a bit.
The current codebase is a bit scattered, e.g. it's somewhat annoying when functionality such as the
step
implementation isn't found in the same file as the definition of the sampler itself, and similarly with the states, etc. This made more sense when the package only had one sampler, but now that we've split it up into many samplers, less so.