Tweaked custom exclusions/inclusions and moved most functionality across to a service class.