[WIP] Issue 252 - Automatic client-side reconnect & API redesign

See #252.