now state can finish not only when event happens, but when finished() is false