Typically we pass parameters by const reference e.g. ``const boost::any& value`` however I'm actually not really sure that is the "best practice" anymore after c++11 move. I think for "sink" types it is recommend to pass by value and then move. That would mean that in your constructor you would remove the ``const &`` and then do a ``std::move`` on value. Maybe you can also look it up and we can device a guideline regarding it.