Is it possible to access the whole logstash event as a variable in filters/outputs?

I wan to change the structure of the event that gets used in the output.

I want to generate soem think like this
newevent = {"custom_field" => 123, "data": event}

I can achieve this by using the ruby filter, but I want to know if there is a more elegant logstash way of doing this?
Can we reference the event as a whole at all?

Thanks.