Second iteration of 'bob'

Modularizes 'Bob' so helper functions are not globally scoped.