add ability to register custom CI clients. refactore initialize method for clients