adding activity method to Material

So it means never do:

```c++
using std;
```

because that uses the whole namespace, which can grab unseen symbols and cause bugs.  It is like how you should not `from x import *` in Python.  However,

```c++
using std::map;
```

is OK as long as it is inside of a function or class (and thus has local scope) because it only gets one symbol. This is like `from x import y` in Python.