In terms of "principle of least surprise" though it has problems.

```ruby
def perform
  do_something!
  success!
  log("Finished the interactor")
end
```

That log line will never be called, and it's not obvious as to why.