performance - use singleton exception CyclicReferenceException