Refactor get/observe mechanisms