Adapt UserViewer example into separate classes for rendering and tracking a skeleton