Moved out space movement into new class to be reused
Fixed some refactor issues
Update usages
Refactoring