Refactor input & gfx out of hero