Cleanup and make work with text opcode

I cleaned up some semantics and other misc things to make this package a bit more clear. I also changed it to allow text as well as binary messages because I see no reason to differentiate and utilize only binary ones.