Decorate service, factory
Below is example of service decorator, overriding null date returned by service.
Directives can be decorated just like services and we can modify or replace any of it's functionality. Note that directive itself is accessed at position 0 in $delegate array and name parameter in decorator must include Directive suffix (case sensitive).
So, if directive is called myDate, it can be accessed using myDateDirective using $delegate.
Below is simple example where directive shows current time. We'll decorate it to update current time in one second intervals. Without decoration it will always show same time.