IColor protocol impl