Fix constructor TODO & clean up handling of factories.