Cleared out all the old sema code, and awaiting I/O should work now
Fixed null case
More fixes