[TAC-132] refactoring - add gear, component and cache abstraction