fix process halt when overlay engaged, refactor said logic entirely into object