Updated to match current Swift compiler / 'Handler' subscript extracted to a new class