Implement missing critical() method
Throw Psr\Log\InvalidArgumentException where appropriate
Updated test