Properly save message timeout handles

The "undef" method doesn't return the handle it's being called on, so can't be chained with the initial declaration.
Split into separate "parse" and "handle" methods