Alternative implementation of BlockingSupplier. It is simpler and doesn't suffer from race conditions.