Adding .idea dir for project management
Making ResourceByteArrayFileAbstraction itself an interface, extending FileAbstraction. The concrete implementation is then ResourceByteArrayFileAbstractionImpl. (Yes, I know the names are long and could be better.) This allows further decoupling for appropriate unit testing.
Injecting the creator of file abstractions.
Adding the notion of file abstractions.