Moved some code to BaseListener and called it + updated 'core'.