chore(affix): refactor directive, drop prototypes