Anatomy of an Advanced Player Controller