Finished client api
Implement an demo client to perform like a device
Merge branch 'feature-democlient' into develop