Fix and refactor some classes
Add new AutoCommandFactory and BindToAttribute classes
Refactor and implement AutoCommandFactory