Extracts duplicated required handling (Like path adjustment) out to simpler storage disk instance which can be passed around.
To break it up. Also added better memory handling to other parts of the app.