Introduce FormatNegotiatorInterface, add PHPDoc