updated: restructured to move the toolkit abstraction to closer to the root app object.