Description
Currently there are a number of AOP factory patterns in Magma, for example Database, Resolver etc..
Much of the logic behind these factories (like deciding the proper implementation, reusing the same instance in a context etc..) could be refactored out to common aspects.