Encapsulates dom nodes as a re-usable component