WIP: first run at actual factoryInjections

TODO:
 - docs update 
 - flush out some ugly codes etc.
 - mixup test names to make sense