We could keep `activate` and `deactivate` that return the promise here, and only define `toggle` in the directive. Thoughts?