Changed Listeners to Interfaces