Must have explicit public constructor.