Refactorization/engines

Refactorize logic for workshop engine.

Already reviewed by @vicmaster and @zalapeach
Space inside parentheses detected.