I am not confused at all. In fact, what you say fits the picture I have painted, namely, the following.
When you expose an interface as Public, then expect, well, public access[etc]
Like I said: you're confused: you are misunderstanding the meaning of "public" in the context of CFC method access levels. "Public" does NOT mean "public access".
Read the docs I pointed you at.
--
Adam