Reorg the interfaces and abstract classes of the Image component