Objects are considered file-like if they have read() or write()
functions. If they do not, they are assumed to be strings to a local
path (existing behavior).
`self.dyn_file_func` is currently set twice: Once in the base class and once in
the server child class. As it's only used in the non-server case, remove it
from the base class.