refactor interface from LogicalIdGenerator to ILogicalIdGenerator to be more consistent