Renamed builder
Made match result an enum to allow stopping processing without result
Split interface into two