Custom (Template) Container and Pointers

AMyClass::AMyClass(const class FPostConstructInitializeProperties& PCIP)
: Super(PCIP),
bIsDirty(false)
{
// Create a mesh with name
Mesh = PCIP.CreateDefaultSubobject(this, TEXT(“MyClassMesh”));
RootComponent = Mesh; // Set mesh as root component

	//Mobility
	Mesh->SetMobility(EComponentMobility::Stationary);
	//Component Setup
	Mesh->CastShadow = true;
	Mesh->bCastDynamicShadow = true;
	Mesh->BodyInstance.SetObjectType(ECC_WorldDynamic);
	Mesh->BodyInstance.SetCollisionEnabled(ECollisionEnabled::QueryAndPhysics);

	// Set material
	static ConstructorHelpers::FObjectFinder<UMaterial> Mat(TEXT("Material'/Game/StarterContent/Materials/M_Ground_Grass.M_Ground_Grass'"));
	if (Mat.Object != NULL) {
		UMaterial *Material = (UMaterial*)Mat.Object;
		UMaterialInstanceDynamic *Material_dyn = UMaterialInstanceDynamic::Create(Material, this);
		Mesh->SetMaterial(0, Material_dyn);
	}
}

That is the constructor for MyClass.