anchor.diff:  
   Picocli 4.0 introduces an `execute` method for handling all of the above scenarios in a single line of code. For example:
   
  -```java
  +.Java
  +[source,java,role="primary"]
  +----
   new CommandLine(new MyApp()).execute(args);
  -```
  +----
  +
  +.Kotlin
  +[source,kotlin,role="secondary"]
  +----
  +CommandLine(MyApp()).execute(*args)
  +----
   
   With the `execute` method, application code can be *extremely compact*:
   
  -[source,java,linenumbers]
  +.Java
  +[source,java,linenumbers,role="primary"]
   ----
   @Command(name = "myapp", mixinStandardHelpOptions = true, version = "1.0")
   class MyApp implements Callable<Integer> {
  
positive.code: 
  assert 1 == new CommandLine(new Greet()).execute();
  assert 2 == new CommandLine(new Greet()).execute("shout");
  ```
  
  Commands with a user object that implements `Runnable` can implement the `IExitCodeGenerator` interface to generate an exit code. For example:
  
  ```java
  @Command(name = "wave")
  class Gesture implements Runnable, IExitCodeGenerator {
  
  
negative.code: 
  `@Command`-annotated classes that implement `Callable` and `@Command`-<<command-methods,annotated methods>> can simply return an `int` or `Integer`, and this value will be returned from `CommandLine.execute`. For example:
  
  .Java
  [source,java,role="primary"]
  ----
  @Command(name = "greet")
  class Greet implements Callable<Integer> {
      public Integer call() {
  