add ability to wait for an element with a block