public BasedOnRegistrationPart BasedOn(Type basedOnType)
        {
            var basedOnRegistrationPart = new BasedOnRegistrationPart(this, basedOnType);

            parts.Add(basedOnRegistrationPart);
            return(basedOnRegistrationPart);
        }
        public BasedOnRegistrationPart BasedOn <T>()
        {
            var basedOnRegistrationPart = new BasedOnRegistrationPart(this, typeof(T));

            parts.Add(basedOnRegistrationPart);
            return(basedOnRegistrationPart);
        }