Add a subject factory and remove unwrapper from construction
Rename subject factory to wrapper
Simplify subject constructor
Remove unused matcher manager from array access constructor