Make constructor private, use static factory method instead.