Feature util layer

I haven't had the opportunity to test any of this yet. However the interfaces should be all you need to start development.

@Spsmith86, @okgrito, @lmcdaniel