Reworked all parts of the image translation process into different abstract classes so they can be easily replaced.