Allow dynamic limit with an instance method

This enables different limits based on various factors (membership level, user's role within the app, phase of the moon, the possibilities are endless). It also makes testing easier by facilitating stubbing of the limit within a test run.