If you moved the check inside the method, it would be more closer to celluloid-io. 
https://github.com/celluloid/celluloid-io/blob/032a100f46fb1887e12c2faad9f6bfa377cee5e1/lib/celluloid/io/stream.rb#L39