Even better, if you just use a LOCAL table for the addon object,
Code:
local MyAddon = {}
function MyAddon:DoCrap()
function MyAddon:DoMoreCrap()
... then you can choose to "show" it...
Code:
_G.MyAddon = MyAddon
... or not.
Of course that only works if your addon is contained in one file.
But if you're REALLY paranoid about not leaving it visible (and don't care about it being debuggable ingame), then you can simply hide it again at the end of the last file to load:
... and it's all clean again!