Added OptionalComponents helper template.