Data write() method now accepts polymorphous writer