Created basic command and project structure.
Merge branch 'master' into OOStructure
Migrated create to the Command pattern.
Ported compress to command structure.
Ported publish to command structure.
Finished migration, everything works properly.
Merge branch 'OOStructure'