There are circular dependencies going on with TopologyActionService -> TopologyContext -> TopologyActions. This Issue is to refactor these and build a more generic interface to make it easy to add additional TopologyActions and retrieve metrics etc..