State machines with lib, expected lifetime parameter

Apparently manually implementing an enum helps.

pub struct DropItem<'a> {
	bang: &'a mut Bang,
}

pub enum WeightMessages<'a> {
	DropItem(DropItem<'a>),
	TakeItem(TakeItem),
}

This works, but I have to write everything by hand, so I guess this is something the lib could support in future. I'll file a ticket...