Even better than "observable state from a to b" is "a transform of value from a to b", no inspection and whitebox needed :D
Much of what I do is try to come up with architectures that model the logic in this way, and are still legible to my co workers.