Refactored things massively.
Only streams are left to capture.