Abstract metadata previews into model to handle multiple filetypes