This might require rewriting GcPtr base class to contain pointer to an object?
This might require rewriting GcPtr base class to contain pointer to an object?