Refactored build method to allow for interface instantiation at runtime