Plugin using event listener throws error using $this
Seem to be doing well at asking and then answering my own questions.
If anyone has the same issue as me, it is because you cannot use an anonymous function in the callback. With my example above, the correct way is thus:

craft()-&gt;on('capture_submissions.onBeforePost', array($this, 'onCaptureListener'));

public function onCaptureListener(Event $event) {
 ...
}