Updated readme
Refactored factory to abstract factory
Added bypass buffer factory
Added always and never bypass buffer factories