abstract project data to service, fix filters

Shared project data has been abstracted to a ProjectDataService so that
it can more easily be shared with other parts of the app.

Filters now work as expected.