After looking at it again today and comparing with your PR I totally agree. Will probably take a merge from #655 and apply the factories as independent objects like you did. That'll be much better.