GPU events allow for finer-grained CPU<>GPU synchronization than the current approach, so we should change our implementation.