Organize completion_marker code into separate modules