Yeah, I think the functionality you have is definitely more re-usable/flexible than what I put in place. It does complicate this PR more though. 

What do you think about postponing this change for a new PR so that v0.0.3 can go out today? Can probably get these changes in this week?