Thanks for the reply, I will study the links that you provided Ondina and take it from there. I just wanted to make sure that I am on the right track, because there is still a lot I have to learn about AS3 / Flex / RL

The Command class in rl2 has been intentionally kept
lightweight. All is needed for a Command to be recognized as such
by rl2 is to expose a public method execute().
The rl1 Command had injections for the contextView, injector,
mediatorMap, commandMap and eventDispatcher. Those came in handy,
because we used to do the mappings inside of commands. With rl2
this is no longer necessary. You still can perform your mappings in
commands, if you want. However, a class implementing IConfig is a
much better way of structuring your mappings. You can inject
whatever you need (and only what you need) into such a config
class. This way they are much more lightweight. If you need help
with config classes, let me know. Here just a link to a discussion
about config classes:
http://knowledge.robotlegs.org/discussions/robotlegs-2/12476-rl2-bo...

So, as I said in my previous post, you can create a base class
that contains the injections you need.
Just for having access to the shared event dispatcher and to be
able to use the same syntax as with rl1, you can do this:

In this case, your commands will have to extend the BaseCommand
and to override the public function execute().
There is no need for a command extending the SharedDispatcher (give
it a name of your choosing) to override execute()!

If you don't want to use base classes, you're right, you have to
inject the event dispatcher into your commands as you did in your
post. Or in a Model or Service for that matter.

Let me know if there is anything else you need help with while
porting your project to rl2.

By the way, can you tell us why are you doing something like
this:

dispatchEvent(new SomeEvent());

I know that this works if you create the custom event class
without a type argument, but mapping such an event to a command
looks kind of weird with "" instead of a type ;)
So, I'm with ishaban on this, I prefer using meaningful event's
types .