[GC preps] move on_data_cb to be a property of the serial object so it can be collected upon GC run
[GC preps] move timer properties into timer object so that timers could be traversed on GC runs