initial refactoring
#578 - pull out balancing market functionality into separate service