D3 engine + event handling