Add an abstract layer for file wrappers