AffineWidget rotation interaction non-functional?

I want to use an AffineWidget to let the user shift and rotate an actor.
The shift (translation) part works fine.
However the rotation part of the widget seems to be broken? There is a circle drawn but it

  1. does not move with the actor
  2. there is no way to interact with it.

Python code:

import vtk

# sphere
cubeSource = vtk.vtkCubeSource()
cubeSource.SetCenter(0.0, 0.0, 0.0)

mapper = vtk.vtkPolyDataMapper()
mapper.SetInputConnection(cubeSource.GetOutputPort())

actor = vtk.vtkActor()
actor.SetMapper(mapper)

# a renderer and render window
renderer = vtk.vtkRenderer()
renderWindow = vtk.vtkRenderWindow()
renderWindow.AddRenderer(renderer)

# an interactor
renderWindowInteractor = vtk.vtkRenderWindowInteractor()
renderWindowInteractor.SetRenderWindow(renderWindow)

# Create the widget and its representation
aw = vtk.vtkAffineWidget()
aw.SetInteractor(renderWindowInteractor)
aw.CreateDefaultRepresentation()
aw.GetRepresentation().PlaceWidget(actor.GetBounds())

def interaction_event(caller, type):
    ar = caller.GetRepresentation()
    tr = vtk.vtkTransform()
    tr.Identity()
    ar.GetTransform(tr)
    actor.SetUserTransform(tr)
    print(*tr.GetPosition())
    print(*tr.GetOrientation())


aw.AddObserver(vtk.vtkCommand.InteractionEvent, interaction_event)
aw.AddObserver(vtk.vtkCommand.EndInteractionEvent, interaction_event)

# add the actors to the scene
renderer.AddActor(actor)
backgroundColor = vtk.vtkNamedColors().GetColor3d("steel_blue")
renderer.SetBackground(backgroundColor)
renderWindow.Render()
aw.EnabledOn()

style = vtk.vtkInteractorStyleTrackballCamera()
renderWindowInteractor.SetInteractorStyle(style)

# begin interaction
renderWindowInteractor.Start()
renderWindowInteractor.Initialize()