Implement part of new #on behavior