Angular service and directives for creating ui tours