Entity component based engine (Attempt)