Api Design; Don't throw exceptions with internal constructors