+    def _shade(self, pixel_value):
+        if isinstance(self._pixel_shader, Palette):
+            return self._pixel_shader[pixel_value]["rgba"]
+        if isinstance(self._pixel_shader, ColorConverter):
+            return self._pixel_shader.convert(pixel_value)
+        return pixel_value
+
+    def _apply_palette(self, image):
+        if isinstance(self._pixel_shader, Palette):
+            image.putpalette(
+                self._pixel_shader._get_palette()  # pylint: disable=protected-access
+            )
+        if isinstance(self._pixel_shader, ColorConverter):
+            # This will be needed for eInks, grayscale, and monochrome displays
+            pass
+
+    def _add_alpha(self, image):
+        if isinstance(self._pixel_shader, Palette):
+            alpha = self._bitmap._image.copy().convert(  # pylint: disable=protected-access
+                "P"
+            )
+            alpha.putpalette(
+                self._pixel_shader._get_alpha_palette()  # pylint: disable=protected-access
+            )
+            image.putalpha(alpha.convert("L"))
+