Break out modules, revise DOM strategy