As I mentioned, the naming is a little too generic and may cause naming conflicts. Suggest something like GCMItemSelectItem even if that sounds a little repetitive.