pass args by const reference when possible, not value

Shared pointer types aren't a big deal but other objects might make a bigger deal.
use more concise '&' context