added collection header view
Separate client and user manager, use closure

User closure instead delegate