Bug 1079748 - Implement hierarchy manager

1. does the timeout need to be so long?
2. can we use the `fakedialer` app for this instead?