Add abstract structure for image loading for #143