reflective vs traditional layer
discuss factory pattern interfaces