Added Repository Pattern

The old version still works for legacy reasons but you should use the
repository DataProvider (the NinjasData class) instead.