Initial implementation of the ImageDecoder trait