* rewrite of the Abstract Factory pattern * update composer deps * fixed argument to json_encode which cannot be null