- Introduced Engine class.
- Engine.Execute method imports command from composition context and executes it.
- Replaced Moq with manually created stubs because complexity of mocking methods with output parameters was too much.
- Changed Engine.Execute to recursively execute command dependencies.
- Added an integration test for ExecuteAttribute that helps to understand how it works with the real CompositionHost.
- Changed Engine to automatically execute Before and After commands.
- Changed Execute attributes and Engine to specify target command as contract metadata instead of name.
- Eliminated ExecuteAttribute class because MEF does not recognize properties defined on base class as metadata.