Support optional components (start with "?" instead of ":")
Test optional components