Refactorization/engines

Refactorize logic for workshop engine.

Already reviewed by @vicmaster and @zalapeach
Use 2 (not -6) spaces for indentation.<br>Prefer single-quoted strings when you don't need string interpolation or special symbols.