Refactoring and operation success

- factor out reusable units for easier maintainance and testability
- check success of operations with status service