Getting somewhat there, going to use more Symfony components going forward