You can name methods invisible unicode characters so calling them is basically invisible. Quick example:
https://gist.github.com/Freaky/51086f3c97784bdd6dfbd31913cd1...
You don't need to use define_method, it just makes it more obvious what's going on.