Issue #44: refactored, documented UserOperation class