Use Logger::write directly
Add .gitignore
Add PHPDoc
use \UnexpectedValueException instead of \InvalidArgumentException