First two requirements complete. Time to start the 3rd!

Write tests, not just to drive the code; but for safety in the future!

Don't modify existing behavior when making a test pass.

I really like the Elvis Operator

"I know what the test is giving us, and I know what it wants back." Just write that.

Create abstractions for the patterns emerging in the code.

Always consider reability.

Refactor for readability

ALT+Shift for column selection.

Refactoring is fun! And sometimes we do it wrong... Let's see what I realized!
Never use an out param.

Please ignore the static method.

While there's still a pattern; we've followed Rule 4 - Fewest Elements as well as having effective names.

I like precision in my names... But not at the cost of readability.