It makes me fell that `open()` should be an static method, or at least there is a static method `File::open()`.