Hints for further developement.

- usage of AbstractRecords::factory should be templated only
  by requested base type, and should not use explicit get()
  method of the shared pointer
- Creater template for register constructors with parameters
- Factory should by templated by Arguments of the constructor
- specialized template for default constructors