- Removed Log.Empty property and changed Command to use a private instance instead.
- Split Usage command into three separate commands and changed implementation to use reflection instead of composition to discover available commands.
- Changed Engine.Execute message to be more descriptive and include the actual name of an invalid type.