add detect? (obvious implementation)
add before method
use be_[predicate] matcher