Instead of making a dynamic object within a Class define, use a static object.
Create the object and its functions outside of the class of course and then use that object as a variable define within the class.
When the class is constructed the memory that your object is occupying will be zeroed out. This means any items within that object will all be zeroed or NIL, this would include your StringList, too that lives within the object and its living within the class.
By simply testing for NIL, you can determine if the String List is valid and thus create a method to add to the list that would first test for a NIL and then create the list.
So, to reiterate in short if you use a fixed object instead of constructing it via NEW etc., the object's memory will be zeroed because it is using the classes instance memory which gets zeroed.