A very simple proof of concept generic factory