simplify transitions user interface by making some internal methods private