Break commands out into separate files
Expand if block
Style tweaks
Add Command model
Add extend dependency
Update exports for command files