Framework built from WebLinc DOM patterns