Hide instantion of Factory behind a static factory method because Corey Haines says so