Separate movement from RenderThread completely
Make sure there are no engine references in the api