removed sharedmemory and taskbuttongroup, added some smart pointers