Note: there might be a better way to initialize the `arg` variable using C++11 constructor delegation. But I wasn't able to find a simple example, so this is good for now.