It would be nice to allow "unclean" sessions. This is useful for e.g. push services where the client should receive pushes that were send while the client had connection problems.
I think the change has to be done here (and upwards to make in configurable)