Create panel fields from array

Have you seen the builder field? Maybe you can use that or at least use it as inspiration.