Moved most of the logic to interfaces
Moved ContainerTag.appendChild to fluent API section