Refactor: Extract message formatting to unittest.AssertionFailedMessage
Refactor: Extract base interface
Improve error messages