I see.

I thinks that's even a perfectly valid distinction between scope functions and controller functions. If it should be callable from angular expressions in html (including other directives), then add it to scope (public function), if not, add it to controller (private function).