feat(directive.controller): implement controller directive