Reimplement write and read timeout retransmission

Also move default component ID into data model