doxa gui loosely based on entity component systems