Celluloid doesn't quite do what we need

This turned into a nice refactor of the tap monitoring code though