[WIP] Build Hal instance from string

Divergent changes from project. This is a work in progress and not intended for merge yet, just discussion.