Your implementation looks like a perfect Gang of 4.
Ask yourself do you really want to work for these people anyway.
I got asked the same question and got AI to build it. Why wouldn't you.
They also rejected it. There is no rhyme or reason.
Asking seasoned coders to do a test like this is stupid IMHO - It's like asking a buildbuilder to hammer some nails and screws into a piece of wood.
I always invoice for half a day of work for these tests - they don't always pay.
Read my prompts here.