The refactoring has begun: interface and abstract for the image class