angular directives and services for inline editing of html markup