Move spectator handling into the spectator mixin

Signed-off-by: Ian Macalinao <me@ian.pw>