An attempt to make the use of conversation session data less error-prone
Make use of BLOCK_INDEX data if non-negative, and ensure it always exists
Squash as many warnings as possible by adding two more Data accessors
Don't recalculate session data key each time it's needed