- Defined DependsOnAttribute as a first step to using metadata-based dependency injection instead of the constructor-based one.
- Changed Engine to use DependsOnAttribute instead of requiring an ImportingConstructor.
Changed Engine to use a strongly typed metadata class instead of a Dictionary<string, object>
-Changed command from an abstract class to an interface.
- Fixed StyleCop and FxCop errors.