Moved to inheritance model and everything is working gloriously =D