Reactive state for custom Angular directives