Background task processor