I agree with your configuration argument. Under the hood, Ploomber represents your pipeline as an object precisely for that. But it manages the state for you. For example, if you use the S3 client, It'll reuse the same client but you don't have to touch it because Ploomber will automatically upload artifacts. Still, you have a point, we actually have an open issue about how to share state; but I haven't found the right abstraction to do it, so if you have suggestions, let me know!