Add callback based interaction, update process handling to work better