Migrated all feed calculation logic into a service. This fixes #36