Implement new callback system & remove old system