Add annotations to make static type checking tools more effective; add withArgs() methods to improve readability of fluent API