Implementing Research Interface

Finally implemented the research interface. All Research Objects can now
be initialized and built.