moved initialisation to directive constructor, added unwatch call