Bug 1079748 - Implement hierarchy manager

if you choose not to use the `fakedialer` we can probably remove the `setTimeout` altogether since it's triggered by a click