Error handling for state manager
Split client into one source file per object
Dependency manager