WIP refactoring

- uncoupling with game engines
- Created an interface for minimalist game engine access
- Use builder-like pattern