Add proper handling of disabled state

This commit adds an actual `disabled` state to the snippet. It also aims to clarify the previously ambiguous `active` state. Now, `active` is a boolean that reflects whether or not a valid actor is set on the snippet, whereas `disabled` reflects whether the snippet is functioning or not. If a call to the service fails, the snippet is brought down by setting `disabled` to `true. Inactive callbacks cannot be executed by clicking on a snippet when it is disabled.