Introduce 'IOCompositor' to clean up compositor code.