dev: add ArtisanPlayerController, more clean structure