Fix the find method. Add some extra abstraction for internal methods so that the on/off methods don't seem so complex