[Sprint/HipsterHedgehog] client metadata and code refactor Closes #997, #952, #953, #999, #1003, #1002, #1000, #993, and #994 See merge request !234