Much simpler now! Should have stuck with the original design :/
Recording the output for async rendering