Support custom id generators