Create elements using object data structure instead of parameters.  Recursively append children