Future<T> withSpinner<T>(String message, Future<T> Function() action) { if (!stderr.hasTerminal) return action(); logger.info(message); return action(); }