Pluto.jl does solve the state problem of notebooks, which is the biggest problem in them. Probably should give it another go.
How is the module reloading story nowadays? Last time I gave up the state of the art was Revise.jl, which was a world of pain.