require guid for component factory
validate duration option on factory
duration option on the constructor should validate too