Splitting rule logic into it's own controller