WIP: Fix self -> this in factories =(