removed getInstance from IdGenerator because it is much easier to call IdGenerator.getNext() than IdGenerator.getInstance().getId()