Improve CM API interaction - provide better state query/assertions, idempotent invocations, self initialising operations and improved integration testing