ArgumentAttribute should derive from Attribute ;)
Fully implemented caching mechanism
Renamed parameter in ICommand
Cleaned argument from dash