todo note re preregister pattern