Update router to map abstract class dependencies to concrete ones.

Signed-off-by: Se7enChat <se7enchat@zoho.com>
Delete the builder object and replace it with the router.

Signed-off-by: Se7enChat <se7enchat@zoho.com>