navdrawer abstractions, lifecycle and callbacks added