Rather than creating a text-based interface within an initialize method, it's best to have that method work as follows:

```ruby
def initialize(title, author, description = '', status='')
  @title = title
  @author = author
  @description = description
  @status = status
end
```

This is because other Ruby developers will expect our new method to accept arguments, rather than output text asking for input directly. If you wanted to provide this kind of interface, it would be awesome to create a `main.rb` file that we're expected to run, which would then use `puts` and `gets` to pass that info to `Book.new` like so:

```ruby
Book.new(title, author, description, status)
```