Factor out duplicate logic from expand/collapse, activate/deactivate; always call completeCallback