Parentheses fine (this makes it clearer, I agree). 

Space after `!`, sorry, that's unusual in our code, and I think it makes it less clear - but this is obviously just opinion.