Excellent.  I like this a lot more.  I'm just thinking out loud here ... do we necessarily need the `inventory` to have a `pickup` event or can we just use the `inventoriable`'s `pickedUp` event in its place?  (we would have to pass these parameters when that event is fired, but that almost feels more natural ... except for the `cargo` size ... I guess that's necessary here, huh)?