Converting waiters to a simpler non-typeclass based approach