New theme engine v2 component

#848