> is now forced to return an AsyncToken object That's some behavior typical of Flex framework. RemoteObject is rather an exception to the common practice, then an example of it. You can't really make generalization about how RPC works in Flash based on what it does, more so, it's better that you don't. Normally, you use events / callbacks. It is really similar to the way monads are used in Haskell - it's an uncomfortable concept for people unfamiliar with the language, but after you get used to it, it's fine. There are problems that could be better solved by having a persistent state, but the language doesn't offer a persistent state. Same thing with event handlers. It is not extremely straight forward, but you don't really have any other option given the entire language structure.
I've nothing to say about other OOP-facade-encapsulation-buzzword stuff, as these words just sound arbitrary in this context. I think you have taken a wrong example to begin with and your further assumptions are thus missing the point. Honestly, RemoteObject isn't even a good way to go about RPC in Flash, it's some concept borrowed from ColdFusion templates or something like that... it's relevance to Flash / AS3 is fictional... And, again, no, what you offer is neither simpler nor more efficient, nor more idiomatic for the language. You are mistaking, if you think that it is simpler because you don't account for the situations that must be taken into account. You are trying to simplify something which cannot be simplified to this level. Best. Oleg