event:register:controller carries viewport object