code: public final void start(final Command command, final Callback callback) {
          this.start = System.currentTimeMillis();
          this.conditionSatisfied = false;
          command.execute();
          new Async().whilst(new KeepGoing(), new Finish(callback), checker(), 500);
      }
docs: Executes {@code command} until {@link #setConditionSatisfied(boolean)} was called with {@code true} or
  the timeout is reached.
  
  @param command  the command which should be executed
  @param callback the final callback